java使用jna调用c或c++的dll文件

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文件内部有错,传参不能对应等

发布了5 篇原创文章 · 获赞 0 · 访问量 96

猜你喜欢

转载自blog.csdn.net/a734475064/article/details/105285479