1. vi HelloWorld.java
public class HelloWorld {
static {
System.loadLibrary("hello");
}
public native void display();
public static void main(String[] args){
System.out.println("start....");
HelloWorld s1 = new HelloWorld();
s1.display();
s1.display();
// s1.finalize();
HelloWorld s2 = new HelloWorld();
s2.display();
s2.display();
while(true) ;
}
}
2.javac HelloWorld.java
3.javah HelloWorld
4.vi main.c
#include <jni.h>
#include "HelloWorld.h"
#include <stdio.h>
int song=0;
JNIEXPORT void JNICALL Java_HelloWorld_display
(JNIEnv * i, jobject j){
printf ("so:%d\n" ,song++);
}
5.gcc -fPIC -I /usr/lib/jvm/java-7-openjdk-amd64/include -shared -o libhello.so main.c
6.java -Djava.library.path=./ HelloWorld
start....
so:0
so:1
so:2
so:3