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 add(int a, int b);
}
public static void main(String[] args) {
// 调用DLL中的add函数
int result = MyDLL.INSTANCE.add(5, 3);
System.out.println("Result of addition: " + result);
}
}
com.sun.jna.Library 和 com.sun.jna.Native 是 JNA(Java Native Access)库的一部分,用于简化 Java 和本地代码之间的交互。MyDLL 继承自 Library,并在其中声明要调用的 DLL 函数。这里我们假设有一个名为 mydll.dll 的动态链接库,并且它包含一个名为 add 的函数。Native.load("mydll", MyDLL.class) 加载 DLL 文件。"mydll" 是 DLL 文件的名称(不包括扩展名),并且该文件应该在系统的 PATH 环境变量中或与 Java 程序在同一目录下。MyDLL.INSTANCE.add(5, 3) 调用 DLL 中的 add 函数,并将结果存储在 result 变量中。请确保你已经添加了 JNA 库到你的项目依赖中。如果你使用的是 Maven,可以在 pom.xml 中添加以下依赖:
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.8.0</version>
</dependency>
下一篇:java响应式编程
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站