62,615
社区成员
发帖
与我相关
我的任务
分享
public class Hello
{
static{
System.loadLibrary("Hello");
}
public native void testHello();
public static void main(String[] args){
Hello ins = new Hello();
ins.testHello();
}
}
#include <jni.h>
#include "Hello.h"
#include <stdio.h>
JNIEXPORT void JNICALL Java_Hello_testHello
(JNIEnv *env, jobject obj)
{
printf("Hello world!\n");
return;
}
gcc -Wall -c Hello.c -I./ -I//usr/java14/include -I/usr/java14/include
ld -G -bnoentry -brtl -berok Hello.o -o libHello.so
Exception in thread "main" java.lang.UnsatisfiedLinkError: testHello
at Hello.main(Hello.java:9)
ld -G -bnoentry Hello.o -o libHello.so -bexpall -lc
//.so文件B
gcc -fpic -shared ddd.c -o libddd.so
//.so文件A
gcc -c -fpic call_1.c
gcc -c -fpic call_2.c
gcc -fpic -shared Caller.c -o libcaller.so call_1.o call_2.o libddd.so