HelloWorld.java
public class HelloWorld {
public native void displayHelloWorld();//所有native關(guān)鍵詞修飾的都是對本地的聲明
static {
System.loadLibrary("HelloWorld");//載入本地庫
}
public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}
javac HelloWorld.java
javah HelloWorld
HelloWorldImpl.cpp
#include "jni.h"
#include "HelloWorld.h"
//#include other headers
JNIEXPORT void JNICALL
Java_HelloWorld_displayHelloWorld(JNIEnv*env,jobject obj)
{
printf("Helloworld!\n");
return;
}
# 編譯C++程序
gcc -o libHelloWorld.so -I/usr/software/jdk8/include -I/usr/software/jdk8/include/linux -I. -fPIC -shared HelloWorldImpl.cpp
java -Djava.library.path=. HelloWorld
輸入
Helloworld!
第一個JNI程序完成!
可以通過如下代碼獲取library路徑
System.getProperty("java.library.path");