JAVA调用DLL/SO动态库干货攻略(上)(jna篇)

JAVA调用DLL/SO动态库干货攻略(上)(jna篇)

首先,动态链接库windows下是.dll文件,linux下是.so文件。.dll文件要被调用的话需要确保其有导出函数,.so文件函数只有隐藏和不隐藏,所以默认相当于全部导出。如果遇到只提供一个导出函数用来生成实例的话,需要自己做一层封装再将实例下的函数导出供jna调用。

第一步,需要jna的jar包,以下为maven依赖:
<dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>5.1.0</version> </dependency>

<dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> <version>5.1.0</version> </dependency>
windows下,将.dll文件直接丢根目录下即可,加载路径有多个,这里就不说了。
linux下,如果是64位,直接丢/usr/lib64即可,t其他路径可自行选择。

第二步,上代码

public class JnaClient {

public interface JLibrary extends Library {
   //加载映射动态链接库,注意:linux下动态链接库名为“lib+动态库文件名(下面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值