经作者同意转载自  http://blog.csdn.net/xrbeck

现在的开发工具比较多,如JAVA,C++,。NET等,如何在这些不同的开发工具中实现代码的复用,成为一个比较重要的话题,也是提高生产率,降低项目成本的一个重要手段。其中C++与.Net之间比较好融合,这是因为都是基于ms的开发平台与解决方案,如com,dll,activex等,但java与c++之间就比较麻烦些。下面介绍通过jni来复用c++代码的方法。
1。在java中声明native方法
public class Message {
static{
System.load("C:libMessage.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等,直接使用即可。
希望跟大家进一步讨论。

09-18 22:58