java使用jna调用c或c++的dll文件
首先引入jna.jar
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.5.0</version>
</dependency>
public interface Diaoyongc extends Library {
String dllname="kernel32"
Diaoyongc diaoyongc=(Diaoyongc) Native.loadLibrary(dllname,Diaoyongc.class);
//window系统中默认有该dll,作用为删除文件,需和dll中的方法名一直,传参类型对照官方表
Boolean DeleteFileA(String lpFileName);
}
需注意一点c写的dll文件位数需与jdk位数一致否则会报错
public void jnatest()
{
String path="C:\\test.txt";
Diaoyongc.diaoyongc.DeleteFileA(path);
}
如果运行中出现内存溢出等错误有可能dll文件内部有错,传参不能对应等