現在的開發工具比較多,如java,C++,。NET等,如何在這些不同的開發工具中實現代碼的復用,成為一個比較重要的話題,也是提高生產率,降低項目成本的一個重要手段。其中C++與.Net之間比較好融合,這是因為都是基于ms的開發平臺與解決方案,如com,dll,activex等,但java與c++之間就比較麻煩些。下面介紹通過jni來復用c++代碼的方法。
1。在java中聲明native方法
public class Message {
static{
System.load("C://lib//Message.dll");
}
public native static boolean send(String mobile,String text);
}
其中,dll名稱為等會用c++生成的dll,send方法為c++中需要復用的代碼,java中只需給出聲明即可,代碼的實現在c++中.
2. 編譯頭文件
用javah命令生成c++中需要的頭文件,如.
javah Message
注重這里已經是Message.class了,這時會生成一個message.h文件。
3。在c++中實現。
打開vc6.0工程,使用wizard生成一個dll,include剛才用javah生成的頭文件,實現要復用的代碼即可,一般就是把自己封裝好的類在這里做一個調用即可。
其他:
java里的定義如boolean,string等都在jni.h中有相應的轉換,如jboolean等,直接使用即可。
希望跟大家進一步討論。
新聞熱點
疑難解答
圖片精選