最简单的Java调用C/C++代码的步骤:
1.在Java类中声明一个声明为native的方法。
2.使用Javah命令生成包含native方法声明的C/C++头文件。
3.按照生成的C/C++头文件来写C/C++源文件。
4.将C/C++源文件编译成动态连接库(DLL或者SO)。
5.将动态连接库(DLL或者SO)加入PATH环境变量中。
6.Java类中加载动态连接库(DLL或者SO),然后调用声明的native方法。
最简单的Java调用C/C++代码的核心步骤示例
1,Java类文件:
public class TestNative
{
public native void sayHello();
public static void main(String[] args)
{
System.loadLibrary(“nativeCode”);
TestNative testNative = new TestNative();
testNative.sayHello();
}
}
2,用Java的javah工具生成头文件,主要内容如下:
JNIEXPORT void JNICALL Java_TestNativesayHello(JNIEnv *, jobject);
3,C/C++实现文件(jni.h和jni_md.h) nativeCode.cpp
JNIEXPORT void JNICALL Java_TestNativesayHello(JNIEnv *, jobject)
{
cout<<“Hello JNI!”<<endl;
}
4,编译生成动态库文件(nativeCode.dll或者nativeCode.so),并加入Path中供Java加载使用