import com.sun.jna.Library;
import com.sun.jna.Native;
public class DllExample {
// 定义一个接口,声明要调用的DLL中的函数
public interface MyDll extends Library {
MyDll INSTANCE = Native.load("mydll", MyDll.class);
// 声明DLL中的函数
int myFunction(int param1, int param2);
}
public static void main(String[] args) {
// 调用DLL中的函数
int result = MyDll.INSTANCE.myFunction(10, 20);
System.out.println("Result from DLL: " + result);
}
}
导入JNA库:com.sun.jna.Library 和 com.sun.jna.Native 是 JNA(Java Native Access)库的一部分,用于简化 Java 调用本地代码的过程。
定义接口:我们定义了一个名为 MyDll 的接口,它扩展了 Library 接口。在这个接口中,我们声明了要调用的 DLL 中的函数 myFunction。Native.load("mydll", MyDll.class) 用于加载名为 mydll.dll 的动态链接库,并返回该库的实例。
调用DLL中的函数:在 main 方法中,我们通过 MyDll.INSTANCE.myFunction(10, 20) 调用了 DLL 中的 myFunction 函数,并将结果打印出来。
mydll.dll 文件存在于项目的路径中,或者在系统的 PATH 环境变量中。<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.8.0</version>
</dependency>
上一篇:java中多个三目运算符怎么写?
下一篇:java取整
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站