Java JNI调用dll中的C代码的流程

1: 新建Java工程,在java中编写Nativie方法的声明和调用代码。如图1:



图1


2: window系统下打开cmd,进入java工程的bin目录下,输入javah命令+java类的全限定类名,生成JNI的头文件:

com_test_jni_JniTest.h (在java工程目录下),如图2所示


图2


3: 新建VS2013工程,将com_test_jni_JniTest.h复制到VS2013工程中,VS2013工程中右侧解决方案资源管理器中右键“头文件”-添加-现有项,找到com_test_jni_JniTest.h,点击确定。然后在com_test_jni_JniTest.h中发现报错:“找不到源文件:jni.h”。然后在windows中的JDK的安装目录中搜索并找到“jni.h”,将其复制到VS2013工程中,VS2013工程中侧解决方案资源管理器中右键“头文件”-添加-现有项,找到jni.h,点击确定。同理在JDK目录中找到jni_md.h,然后复制到VS2013工程中。(注意:一定要把com_test_jni_JniTest.h中#include <jni.h>改为#include "jni.h",否则还会报错。


4: 新建01.c文件,实现.h中声明的方法,如图3所示


图3


5: 生成dll文件:

在VS2013开发环境中间Debug旁下拉箭头中选择“配置管理器中”的右上角“活动解决方案平台”-编辑-选择自己windows的平台。右键VS2013工程中侧解决方案资源管理器中工程名,选择“属性”,然后将”配置类型“改为”动态库.dll“,然后重新生成解决方案。最后在工程目录中的Debug中可以找到New20160810.dll 

6: 在java代码中,加载dll,如下代码:

static{ 

    System.loadLibrary("New20160810"); 


7: 将New20160810.dll的复制到和src并列的目录,然后运行java工程即可以看到日志:C  String,表示java通过JNI调用dll中的c代码成功。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值