Java基础之JNI的简单实现

Java 使用JNI调用dll文件
开发环境:Eclipse+Visual Studio 2017+windows 7

第一步:

 首先在eclipse上新建一个项目,如下图:

项目示意图

 然后,在测试类里写一个native关键字声明的方法,如下图:

这里写图片描述

第二步:

找到你的测试类生成的.class文件, 使用jdk命令javah来生成头文件。

这里写图片描述

在上图的目录下打开命令行窗口,执行javah命令,如下图所示:

这里写图片描述

第三步:

使用visual studio 生成一个.dll文件(不管什么编译器,大概的步骤都是差不多的),选择文件  --->新建 ---> 项目 ,如下图所示:

这里写图片描述

这里写图片描述

然后给Java代码生成的.h文件以及其他的两个.h文件放到工程目录下,见下图:

这里写图片描述

然后右键头文件,选择添加 --> 现有项,将刚才拷贝的三个文件添加到工程的头文件中,如下图所示:

这里写图片描述

这里写图片描述

添加完成后,双击打开Java代码生成的.h文件,你会发现报错了,如下图所示:

这里写图片描述
改完后,如下图:
这里写图片描述

打开.cpp文件,根据Java生成的头文件 写上“Hello world” 如下所示:

这里写图片描述

这里写图片描述

#include "stdafx.h"     
#include <iostream>
#include "com_jni_test_JNITest.h"
using namespace std;

JNIEXPORT void JNICALL Java_com_jni_test_JNITest_sayHello(JNIEnv *, jclass){

    cout << "Hello , world" << endl;
}
 然后就可以生成dll文件了,选择生成 -->生成解决方案,见下图:

这里写图片描述

找到生成的dll文件所在位置,复制路径,配置环境变量,如下图所示:

这里写图片描述

         右键计算机 (我的电脑) -->属性-->高级系统设置 -->高级-->环境变量  -->点击系统变量里的Path -->编辑  ,如下图所示:

这里写图片描述

好了,回到Eclipse,写个测试代码测试一下:

这里写图片描述

报错了,Eclipse需要重启一下使环境变量生效,重启后继续测试,结果如下图:

这里写图片描述

又报错了,这是因为我的系统是64位的,如果你的电脑是32位的就不会报这个错误,回到VS改下配置重新生成dll文件,如下图所示:

这里写图片描述

 重新生成dll文件,记得重新配置一下环境变量,然后重启Eclipse,继续测试,结果见下图:

这里写图片描述

至此,成功调用dll文件。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值