更新时间:2022-08-13 10:58:55
1)首先写HelloWorld的java类
class HelloWorld {
static {
System.loadLibrary("HelloWorld");
}
private native void print();
public static void main(String[] args) {
new HelloWorld().print();
}
}
2)编译 生成 .h 文件
javac HelloWorld.java
javah -jni HelloWorld
如果找不到类添加参数 -classpath ./
javah -classpath ./ -jni HelloWorld
HelloWorld.h生成如下
然后编写 HelloWorld.c 文件
3)编译c文件
gcc -shared -static -lc -I/opt/jdk/jdk1.6.0_21/include -I/opt/jdk/jdk1.6.0_21/include/linux HelloWorld.c -o libHelloWorld.so
其中 libHelloWorld.so 为链接库 前缀一定是lib 而不是 HelloWorld
-I跟单是两个jdk目录下面的头文件位置
4)运行
java HelloWorld
如果找不到类添加参数 -classpath ./
java -classpath ./ HelloWorld