隨筆-46  評論-64  文章-2  trackbacks-0

          Step1:創建帶有Native方法描述的ProcessHandler.java文件

          Step2javac 編譯該文件,生成ProcessHandler.class文件

          Step3javah 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://www.aygfsteel.com/lixf/archive/2005/12/23/25177.html win32 下使用 gcc 編譯供 java 調用的 dll 須知 (jni) 我也是遇到問題 Google 到這篇文章的, Solution 當然也在該文章里面

          ?

          參考資料:

          例解 VC++ 6.0 實現 JNI (非爛文)

          posted on 2007-01-16 15:33 jht 閱讀(349) 評論(0)  編輯  收藏 所屬分類: J2SE
          主站蜘蛛池模板: 无为县| 若尔盖县| 长岛县| 建水县| 台前县| 称多县| 佛教| 惠州市| 房山区| 天峨县| 囊谦县| 三江| 达州市| 阳西县| 紫阳县| 澜沧| 长丰县| 韶关市| 平度市| 武城县| 姚安县| 治县。| 泉州市| 宁河县| 蕲春县| 胶南市| 竹溪县| 黑河市| 股票| 兰州市| 临江市| 安化县| 阿拉尔市| 工布江达县| 柳江县| 新平| 阿拉善盟| 文成县| 屯昌县| 石渠县| 乐都县|