现在的开发工具比较多如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等直接使用即可
希望跟大家进一步讨论