由于项目是基于Java的,但是核心代码库是C++写的,为了调用C++的代码,需要将C++的函数编译成dll的形式提供给Java使用。
一、新建一个Java类DllTest
添加一个native方法ADD
package com.javacplusplus;
public class DllTest {
public native int ADD(int a, int b);
}
二、生成C++所需的头文件
打开项目目录,在src文件夹同级处打开命令行,可按住shift+鼠标右键,选择“在此处打开命令行窗口”。
在命令行窗口中输入 javac com/javacplusplus/DllTest.java
com/javacplusplus是文件路径,也就是包名,DllTest.java就是java类文件
回车会生成class文件。
继续输入 javah com.javacplusplus.DllTest 生成C++所需的头文件,文件位置在src目录下
三、编译dll
1.在VS中新建Win32项目,设置如下,选择 DLL和导出符号
2.将刚才Java中生成的.h文件拷贝到VS项目文件夹中
3.Java jdk/include安装目录中找到jni.h jdk/include/win32中找到jni_m