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

          Step1:創(chuàng)建帶有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:實現(xiàn)Native方法,從頭文件里面Copy出這個方法,完成具體實現(xiàn),編譯工程,生成dll

          Step6:完成后Jni調(diào)用,注意dll庫需要在系統(tǒng)Path里,否則會出現(xiàn)java.lang.UnsatisfiedLinkError: no *** in java.library.path

          ?

          ?

          除了上面的路徑問題,還有可能不能成功調(diào)用該 dll ,原因上 g++/gcc 編譯出來的東西和 java 預期的不匹配,詳細描述參考 http://www.aygfsteel.com/lixf/archive/2005/12/23/25177.html win32 下使用 gcc 編譯供 java 調(diào)用的 dll 須知 (jni) , 我也是遇到問題 Google 到這篇文章的, Solution 當然也在該文章里面

          ?

          參考資料:

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

          posted on 2007-01-16 15:33 jht 閱讀(349) 評論(0)  編輯  收藏 所屬分類: J2SE
          主站蜘蛛池模板: 合作市| 甘德县| 锡林浩特市| 毕节市| 葵青区| 宁乡县| 安义县| 卢龙县| 宜州市| 成安县| 桦川县| 陆丰市| 布尔津县| 临武县| 青河县| 仙居县| 濮阳市| 大英县| 萨迦县| 吉木萨尔县| 辽宁省| 忻州市| 滦南县| 屏东市| 大新县| 宜阳县| 招远市| 阿拉善左旗| 利辛县| 满洲里市| 大宁县| 夏河县| 侯马市| 临清市| 西贡区| 卢湾区| 邻水| 武强县| 黄冈市| 大方县| 甘谷县|