現在的開發工具比較多如JAVAC++NET等如何在這些不同的開發工具中實現代碼的復用成為一個比較重要的話題也是提高生產率降低項目成本的一個重要手段其中C++與Net之間比較好融合這是因為都是基於ms的開發平台與解決方案如comdllactivex等但java與c++之間就比較麻煩些下面介紹通過jni來復用c++代碼的方法
在java中聲明native方法
public class Message {
static{
Systemload(C:\\lib\\Messagedll);
}
public native static boolean send(String mobileString text);
}
其中dll名稱為等會用c++生成的dllsend方法為c++中需要復用的代碼java中只需給出聲明即可代碼的實現在c++中
編譯頭文件
用javah命令生成c++中需要的頭文件如
javah Message
注意這裡已經是Messageclass了這時會生成一個messageh文件
在c++中實現
打開vc工程使用wizard生成一個dllinclude剛才用javah生成的頭文件實現要復用的代碼即可一般就是把自己封裝好的類在這裡做一個調用即可
其他
java裡的定義如booleanstring等都在jnih中有相應的轉換如jboolean等直接使用即可
希望跟大家進一步討論
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25971.html