JNA調用DLL一點小結

前段時間碰到一客戶需要在JAVA語言中調用C++編寫的DLL,感覺操作很不方便。於是上網搜索,搜到了JNA的調用,主要文章好像是:http://blog.csdn.net/shendl/archive/2008/12/23/3589676.aspx 其他的文章很多都是雷同的,於是自己也在嘗試了一下JNA的使用,具體使用可參考以上地址,現介紹下本DLL中所用類型的對應,均已成功使用。
環境:Eclipes 3.5.2 
 
傳入參數: char  * 對應String
傳入參數: int  對應int
傳出參數: char* 對應 byte []
DLL中使用的是結構體中包含結構體數組,以上博客已有介紹,但是需要注意的是結構體的內存對齊方式。本例DLL中使用的4字節對應方式。那麼在JAVA中對用結構體的那個類應該在構造函數中聲明:setAlignType(ALIGN_NONE);
這個根據不同的結構體對應方式,類中的對應參數也應該做相應更改,具體可嘗試。
如果忽略了內存對齊方式這一點,調試就會浪費不少時間。
至於其他數據類型,因爲DLL中沒涉及,故沒有進行調試。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章