一、maven项目可以添加依赖
<dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>4.5.2</version> </dependency>
二、调用dll,Java创建一个接口实现Library
package mys;
import com.sun.jna.Library;
import com.sun.jna.Native;
public interface TestDll extends Library {
TestDll instanceDll = Native.loadLibrary("TestDll.dll", TestDll.class);
/**
* 求和
* @param num 一个加数
* @param num2 另外一个加数
* @return 两个数和
*/
int sum(int num, int num2);
}
三、测试main方法
package jna;
public class Test02 {
public static void main(String[] args) {
int sum = TestDll.instanceDll.sum(1,2);
System.out.println(sum);
}
}
四、模拟指针类型
需要用Memory类,(用PointerReference类导致内存异常,部署项目每次调用dll后都挂掉)
import com.sun.jna.Memory;
声明缓存长度
Memory memory = new Memory(34);
获取缓存内容
memory.getByteArray(0, 34)
清楚缓存
memory.clear();