第一步:创建Java程序
public class AddTest {
public native int add(int x, int y);
public static void main(String[] args) {
AddTest hh = new AddTest();
System.loadLibrary("test");
int r = hh.add(30, 20);
System.out.println("result = " + r);
}
}
loadLibrary(“test”)是动态链接库的名字
方法要声明为Native
第二步:javac AddTest.java ,生成AddTest.class文件
第三步:javah AddTest ,生成AddTest.h文件
第四步:创建一个C++工程,新建--->工程------>win32 Dynamic-link library
//AddTest的测试实例
#include<iostream.h>
#include"AddTest.h"
JNIEXPORT jint JNICALL Java_AddTest_add(JNIEnv *ev, jobject obj, jint x, jint y)
{
return x+y;
}
将第三步生成的AddTest.h文件拷贝到C++工程目录下。JNIEXPORT jint JNICALL Java_AddTest_add格式:java_类名_方法名
一劳永逸:将jni.h加入到VC6.0安装目录下的Include目录中。jni.h在JDK安装目录下的include中,同时得件include/win32中的两个头文件jawt_md.h、jni_md.h也导入到VC6.0中
编译C++项目,在debug目录下会生成一个***.dll文件。将此文件重命名为test.dll,并拷贝到java项目目录下。或者将test.dll目录添加到path环境变量下。
第五步:运行java程序,得到结果。有时,需要重启eclipse