#include
int add(int a,intb);int add(int a,intb)
{int c = a +b ;returnc ;
}
2、编译为so动态链接库:
gcc -fpic -c test.c
gcc -shared -o libtest.so test.o
ls看一下生成的文件:
libtest.so test.c test.o
这样就会生成so文件了。 这里为什么要命名为libtest.so而不是test.so呢?因为jna在找so文件的时候,要匹配前缀为lib的so文件
3、接下来开始写java文件(需要下载jna.jar),我们写一个TestSo.java:
importcom.sun.jna.Library;importcom.sun.jna.Native;public classTestSo {public interface LgetLib extendsLibrary {//调用linux下面的so文件,注意,这里只要写test就可以了,不要写libtest,也不要加后缀
LgetLib INSTANCE = (LgetLib) Native.loadLibrary("test",LgetLib.class);int add(int a,intb);
}public int add(int a,intb){returnLgetLib.INSTANCE.add(a,b);
}public static voidmain(String[] args) {
TestSo ts= newTestSo();int c = ts.add(10,20);
System.out.println(