隨筆-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
          主站蜘蛛池模板: 民勤县| 神农架林区| 丹阳市| 江门市| 澄迈县| 高青县| 翁牛特旗| 洛浦县| 泗洪县| 屯昌县| 夏河县| 五常市| 铁力市| 通辽市| 辰溪县| 正镶白旗| 宜阳县| 甘洛县| 亚东县| 石泉县| 盘锦市| 宁武县| 依兰县| 织金县| 江城| 同德县| 宿州市| 阜南县| 班戈县| 井研县| 福建省| 靖边县| 衡阳县| 读书| 滕州市| 吉首市| 化隆| 静安区| 德安县| 郎溪县| 龙岩市|