1、编写带有native 声明的方法的java 类
class HelloWorld {
public native void displayHelloWorld();
static {
System.loadLibrary("hello");
}
public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
2、使用 javac 命令编译所编写的java 类
javac HelloWorld.java
3、使用 “ javah -jni java 类名” 生成扩展名为h 的头文件
javah -jni HelloWorld,生成的头文件中会有这样一句话JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld (JNIEnv *, jobject);
也就是说我们在编写C/C++程 序的时候所使用的方法名必须和这里的Java_HelloWorld_displayHelloWorld一致。
4、使用 C/C++实现本地方法
#include "jni.h" //需要将jni.h(该文件可以在%JAVA_HOME%/include文件夹下面找到)文件引入
#include "HelloWorld.h"
//#include other headers
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env,jobject obj)
{
printf("Hello world!\n");
return;
}
//然后保存为 HelloWorldImpl.c 就ok 了
5、将C/C++编写的文件生成动态连接库
6、运行
java HelloWorld