第一步:使用javac命令编译java文件,生成class文件
javac Test.java
第二步:使用javah命令生成头文件
javah -jni 包名.类名
注意:没有.class 而且 如果有包名的话 记得要把包名也写上
例:
文件路径:
文件所在的包,及内容 有native关键字声明的方法才会调用DLL库
命令行:
之后会在CD的目录下生成一个 包名_类名.h的头文件夹
第三步:创建dll动态链接库项目(这里用的是vs2017、怎么安装自行百度)
创建好的DLL项目:
第四步:在C/C++项目中导入头文件
注意:此时还需要导入java的头文件 jni.h jni_md.h
jni.h 以及jni_md.h的路径在 java的安装位置下的include文件夹内 以及win32下
第五步:编写好程序后打包DLL库
根据java类生成的头文件:
C++代码
编译:
生成的dll文件路径:(这里我选择是是64位因为我的jdk是64的——根据自己需要来选择生成对应的文件)
第六步:将生成的dll文件放入System32下(64位放入SysWOW64下)或者放入项目文件中
ps:我这里放入文件中(访日System32下的可以跳过这一步)
1.新建一个lib文件夹放入dll文件
2.右键项目build Path ->Configure Build Path
最后一步: 加载dll文件并运行