1、通过JNI生成C调用的头文件:Java源码:
import java.io.File; public class Test { static { System.load("D:" + File.separator + "Hello.dll"); } public native static void Hello(); public static void main(String[] args) { Hello(); //System.out.print("aaa"); } }
2、生成头文件:cmd 进入java文件所在的位置,执行javah:
3、创建项目:
4、文件结构
5、复制头文件,到程序目录下:
1)通过JNI生成的头文件 Test.h
2)jdk1.7.0_80\include\jni.h
3)jdk1.7.0_80\include\win32\jni_md.h
6、添加头文件到项目:
7、修改Test.h头文件,改为引号:
8、新建cpp文件:
添加代码:
#include <iostream> #include "Test.h" using namespace std; JNIEXPORT void JNICALL Java_Test_Hello(JNIEnv *, jclass) { cout << "Hello World!" << endl; }
9、编译生成32位dll
10、编译生成64位dll
设置64位
11、把生成的DLL放在D盘,执行第一步写的Java代码,结果如下: