jni使用步骤

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

原文地址:https://www.cnblogs.com/wyqfighting/p/2768483.html