Step1:創建帶有Native方法描述的ProcessHandler.java文件
Step2:javac 編譯該文件,生成ProcessHandler.class文件
Step3:javah ProcessHandler.class 生成pkg_ProcessHandler.h Native方法頭文件,注意包名字為pkg,所以生成的方法以pkg_開頭
Step4:使用Eclipse建立Managed Make C++ Project,在第二步選擇Shared Library,然后把剛剛生成和的pkg_ProcessHandler.h 加入工程
Step5:實現Native方法,從頭文件里面Copy出這個方法,完成具體實現,編譯工程,生成dll
Step6:完成后Jni調用,注意dll庫需要在系統Path里,否則會出現java.lang.UnsatisfiedLinkError: no *** in java.library.path
除了上面的路徑問題,還有可能不能成功調用該
dll
,原因上
g++/gcc
編譯出來的東西和
java
預期的不匹配,詳細描述參考
http://m.tkk7.com/lixf/archive/2005/12/23/25177.html
〔
win32
下使用
gcc
編譯供
java
調用的
dll
須知
(jni)
,
我也是遇到問題
Google
到這篇文章的,
Solution
當然也在該文章里面
參考資料:
例解 VC++ 6.0 實現 JNI
(非爛文)