import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;
public class DLLExample {
// 定义一个接口,对应于DLL中的函数
public interface MyLibrary extends Library {
// 假设DLL中有一个名为add的函数,接受两个整数并返回它们的和
int add(int a, int b);
}
public static void main(String[] args) {
// 加载DLL文件
MyLibrary myLib = null;
if (Platform.isWindows()) {
// 如果是Windows系统,加载Windows版本的DLL
myLib = Native.load("mydll", MyLibrary.class);
} else {
// 如果是非Windows系统,加载其他平台的共享库(例如Linux的.so文件)
myLib = Native.load("mylib", MyLibrary.class);
}
// 调用DLL中的函数
int result = myLib.add(5, 3);
System.out.println("Result from DLL: " + result);
}
}
MyLibrary接口定义了我们要调用的DLL中的函数。在这个例子中,假设DLL中有一个名为add的函数,它接受两个整数并返回它们的和。Native.load方法来加载相应的DLL或共享库文件。对于Windows系统,加载的是.dll文件;对于其他系统(如Linux),加载的是.so文件。myLib.add(5, 3)调用DLL中的add函数,并将结果打印出来。请确保你已经添加了JNA库到你的项目中。如果你使用Maven,可以在pom.xml中添加以下依赖:
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.8.0</version>
</dependency>
上一篇:java 结束for循环
下一篇:java 读取文本文件
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站