JNA

step1:生成动态库

1、编写头文件 #hellworld.h

void test();

2、编写实现文件 #helloworld.c

#include<stdio.h>  
void test(){
printf("helloworld\n");
}

3、编译生成动态库,文件名:libhello.so

gcc -fpic -shared -o libhello.so helloworld.c

文件libhello.so生成。

step2:添加maven配置

<dependency>  
<groupId>com.sun.jna</groupId>
<artifactId>jna</artifactId>
<version>3.0.9</version>
</dependency>

step3:编写测试类

import com.sun.jna.Library;  
import com.sun.jna.Native;

public class JnaTest {

//继承Library,用于加载库文件
public interface Clibrary extends Library{
//加载libhello.so链接库
Clibrary INSTANTCE = (Clibrary) Native.loadLibrary("hello", Clibrary.class);

//此方法为链接库中的方法
void test();
}

public static void main(String[] args) {
//调用
Clibrary.INSTANTCE.test();
}
}

step4:解决路径问题

比如复制libtest.so到公共库

------ 本文结束 🎉🎉 谢谢观看 ------
0%