java调用dll动态链接库

2018-07-19  本文已影响0人  乌云老思

因为动态库文件是使用c或是c++编写的,所以在java中是不能直接调用动态库文件的,作为一种跨平台的编程语言,java提供了一些用来读取dll文件方法。

Jna调用动态库

JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native

library的函数与结构,JNA将自动实现Java接口到native function的映射。

   使用步骤:

     (1):调入jar包,使用Jna之前我们需要在项目中首先导入Jna的jar包,有两个,jna-3.3.0-platform.jar 和 jna.jar

     (2):将需要调用的第三方dll文件放在项目的根目录下

     (3):编写调用的方法

import com.sun.jna.Native;

import com.sun.jna.win32.StdCallLibrary;

public class HelloWorld {

public interface Dll extends StdCallLibrary {

Dll INSTANCE = (Dll) Native.loadLibrary("SiInterface", Dll.class);//加载动态库文件

public int INIT();//动态库中调用的方法

}

public static void main(String[] args) {

System.out.println(Dll.INSTANCE.INIT());

}

}

     需要注意:当dll文件不在项目的根目录下,路径要写成绝对路径

上一篇下一篇

猜你喜欢

热点阅读