Java基础之JNI的简单实现

来源:互联网 发布:office办公软件技巧 编辑:程序博客网 时间:2024/06/05 05:32

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文件。
原创粉丝点击