JNI实例学习

      最近看《深入Java虚拟机》看到Java本地接口,而且之前接触到一个应该使用JNI的程序,那是一个利用GPRS Modem发送手机短信的程序,由于发送短信要对串口编程,明显不是Java的强项,所以用用C++做了发送短信的程序,本来利用JNI就可以实现Java调用C++,但是实现者却利用Socket通信来实现......今天再次看到JNI,想亲手试试看。

      开发步骤:

      1. 编写Java程序

      2. 编译该Java程序

      3. javah生成.h头文件

      4. 生成动态链接库文件

      5. 运行Java程序测试

 

1. 编写Java程序

 

编写MyNative.java 并保存,比如在C盘下

 

 2. 编译该Java程序

 

 C:/>javac MyNative.java

 

 3. javah生成.h头文件

 C:/>javah  MyNative

 

 

生成MNative.h 文件,内容如下:

 

 

 4. 生成动态链接库文件

 

打开Microsoft Visual Studio 2008

New -> Project,并选Win32 Project,如下图

 

 

在弹出窗口中点击Next,出现如下窗口,选择Dll,点击Finish

 

 

打开MyNative.cpp,编辑代码如下

 

 

添加MyNative.h文件到工程的头文件目录如下图(我是将该文件拷贝到此路径下后再添加)

 

 

 

将%JAVA_HOME%/include下的所有头文件,.h文件都拷贝到Microsoft Visual Studio 2008 的include路径下

 

 

 

之后点击Build->Build Solution,状态栏显示Build succeeded构建成功。在工程的Debug目录下生成了MyNative.dll文件

 

 5. 运行Java程序测试

将MyNative.dll文件拷贝到MyNative.java同一路径下,执行后得到结果

总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值