java调用dll动态链接库

因为动态库文件是使用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文件不在项目的根目录下,路径要写成绝对路径

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,810评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,297评论 18 399
  • 动态调用动态库方法c/c++linuxwindows 关于动态调用动态库方法说明 一、 动态库概述 1、 动态库的...
    KINGZ1993阅读 14,743评论 0 10
  • 一. Java基础部分.................................................
    wy_sure阅读 9,281评论 0 11
  • 家境一般,样貌平平,朋友三两,这是溶于大众的写照,也是我的写照。 到了一定的年纪,就会懂得那个年纪该懂得道...
    系洛栗色阅读 1,391评论 0 0

友情链接更多精彩内容