歡迎您光臨本站 註冊首頁

JNA調用DLL一點小結

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
前段時間碰到一客戶需要在JAVA語言中調用C 編寫的DLL,感覺操作很不方便.於是上網搜索,搜到了JNA的調用, 其他的文章很多都是雷同的,於是自己也在嘗試了一下JNA的使用,具體使用可參考以上地址,現介紹下本DLL中所用類型的對應,均已成功使用.
環境:Eclipes 3.5.2
傳入參數: char * 對應String
傳入參數: int 對應int
傳出參數: char* 對應 byte []
DLL中使用的是結構體中包含結構體數組,以上博客已有介紹,但是需要注意的是結構體的內存對齊方式.本例DLL中使用的4位元組對應方式.那麼在JAVA中對用結構體的那個類應該在構造函數中聲明:setAlignType(ALIGN_NONE);
這個根據不同的結構體對應方式,類中的對應參數也應該做相應更改,具體可嘗試.
如果忽略了內存對齊方式這一點,調試就會浪費不少時間.
至於其他數據類型,因為DLL中沒涉及,故沒有進行調試.


[火星人 ] JNA調用DLL一點小結已經有322次圍觀

http://coctec.com/docs/java/show-post-59980.html