Chinaunix首页 | 论坛 | 博客
  • 博客访问: 984346
  • 博文数量: 232
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 2315
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-02 11:43
文章分类

全部博文(232)

文章存档

2009年(6)

2008年(22)

2007年(72)

2006年(85)

2005年(47)

我的朋友

分类: 项目管理

2005-12-07 18:11:26

经作者同意转载自  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等,直接使用即可。
希望跟大家进一步讨论。

阅读(1632) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~