windows环境
eclipse中编写好java和C/C++的接口函数类
public class CPP_Interface {
private native byte[] _GetDllVersion(byte[] in);
public void GetLibVersion(){
......
}
}
编译后,在bin目录下
javah -jni com.CPP_Interface
得到一个接口函数定义头文件,在VC中建立DLL工程,把这个文件放进工程中,实现函数,编译,得到dll文件,把dll文件放相关目录下,注意,运行时,dll文件需要放bin下,调试时,却需要放在.classpath同级别目录下,为方便运行,增加一个运行bat文件,run.bat
run.bat内容:
cd bin
java project.Main
pause
project
|-----bin
|------class文件
|------dll文件
|-----src
|-----.classpath
|-----.project
|-----dll文件
|-----run.bat
会有可能出现这样的错误:JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 JDWP exit error AGENT_ERROR_NO_JNI_ENV,main函数添加System.exit(0);原因参考别人的blog:http://blog.csdn.net/zxl0016/article/details/7327125