Ubuntu下JNI的简单使用

2014-11-24 07:54:10 · 作者: · 浏览: 2

1、创建一个java文件(HelloWorld.java)。


class HelloWorld {
static {
System.loadLibrary("HelloWorld");
}
private native void print();
public static void main(String args[]) {
new HelloWorld().print();
}

}


2、使用javac命令编译该java文件,在终端输入"javac HelloWorld.java"。生成HelloWorld.class.


3、使用javah命令生成头文件。在终端输入"javah -jni HelloWorld", 生成HelloWorld.h



4、使用本地方法实现头文件中的方法。



#include
#include
#include "HelloWorld.h"
JNIEXPORT void JNICALL Java_HelloWorld_print
(JNIEnv *env, jobject obj)
{
printf("HelloWorld JNI!\n");
return;
}


5、用gcc编译生成so文件。


gcc -shared -I /home/xl/java/jdk1.5.0_22/include -I /home/xl/java/jdk1.5.0_22/include/linux -I /usr/include HelloWorld.c -o libHelloWorld.so