Java调用dll的几种方法
Java_JNI调用C/C++代码
JNI,是Java Native Interface的简称,中文是“Java本地调用”。通过这种技术可以做到以下两点:
- Java程序中的函数可以调用Native语言写的函数,Native一般指的是C/C++编写的函数。
- Native程序中的函数可以调用Java层的函数,也就是说在C/C++程序中可以调用Java的函数。
JNI并不是什么特别神奇的东西,当初SUN推出它的目的是为了屏蔽不同操作系统平台的差异性,通过Java语言来调用Native语言的功能模块,避免重复制作车轮,最主要是这两个目的。
主要步骤如下:
- 首先在Java类中声明一个native的方法
- 使用Javah命令生成native方法的声明的C/C++头文件
- 按照生成的C/C++头文件来编写C/C++源文件
- 将C/C++源文件编译成动态链接库(DLL)
- 将DLL文件加入到PATH环境变量下
在eclipse中创建一个Java项目
创建了一个命为:JNI的项目,新建包名为bingcao,新建类为TestJNI
接着在TestJNI类当中声明我们的本地方法:
package bingcao;
/**
* @author troy
* 2017-08-22 下午19:28
*
*/
public class TestJNI {
// 声明本地方法
public native double nativeMethod();