前段時間碰到一客戶需要在JAVA語言中調用C++編寫的DLL
感覺操作很不方便
於是上網搜索
搜到了JNA的調用
其他的文章很多都是雷同的
於是自己也在嘗試了一下JNA的使用
具體使用可參考以上地址
現介紹下本DLL中所用類型的對應
均已成功使用
環境Eclipes
傳入參數
char * 對應String
傳入參數
int 對應int
傳出參數
char* 對應 byte []
DLL中使用的是結構體中包含結構體數組
以上博客已有介紹
但是需要注意的是結構體的內存對齊方式
本例DLL中使用的
字節對應方式
那麼在JAVA中對用結構體的那個類應該在構造函數中聲明
setAlignType(ALIGN_NONE)
這個根據不同的結構體對應方式
類中的對應參數也應該做相應更改
具體可嘗試
如果忽略了內存對齊方式這一點
調試就會浪費不少時間
至於其他數據類型
因為DLL中沒涉及
故沒有進行調試
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27052.html