dll动态库生成与调用(2):Java程序利用JNI、JNA调用动态库

本文详述了Java程序利用JNI和JNA调用dll动态库的方法。介绍了JNA的简化调用流程,以及JNI的配置和注意事项。提供了开发环境、文件目录结构,并给出了Java配置JNA库、调用dll动态库的步骤,同时对比了JNI与JNA的区别和难点。
摘要由CSDN通过智能技术生成

dll动态库生成与调用(1):生成dll动态库、C程序调用动态库
dll动态库生成与调用(2):Java程序利用JNI、JNA调用动态库

文章简介

本文主要内容是使用JNA、JNI调用dll动态库。

因为JNI的使用在菜鸟教程中已经有了比较完整的介绍,所以我在本文中就只是提了一下JNI需要注意的事项,菜鸟教程的网址我已经贴在JNI那一章节。JNI教程中使用的是eclipse,如果你使用IDEA,那么你可以看JNA教程中是如何设定库目录的。

开发环境

IDE: Visual Studio 2015、IDEA 2019.1

JNA(Java库): 3.5.2

JDK: 1.8

文件目录结构

C中的JNI_test项目用于生成dll,JNI_test_call是C程序调用dll,JNI_test_java是通过Java程序调用dll。

C:

JNI_test项目中的dll.h、dll.c用于生成dll动态库文件,JNI_test_call项目中的call.c用于调用dll库。

在这里插入图片描述

注: 如果是VS新手,建议这两个项目不要放在同一个解决方案中,为这两个项目各创建一个解决方案,能避开一些VS使用上的问题。

Java:

在这里插入图片描述

一、JNA调用动态库

JNA是JNI的简化版,对于C程序来说,JNA不再需要根据Java代码生成C的头文件,简化了调用流程。不过作为简化版,功能及性能方便自然是有所弱化的,例如JNI可以在C端调用Java端,可以实现双向调用,但是JNA只能用于Java端调C程序的单向调用。如果想了解更多,可以看文末的扩展阅读的第8、9项

1.Java环境配置

1.配置JDK环境:

需要在官网下载以及配置IDEA中的JDK设置,网上有很多教程,搜一下即可,本文中JDK版本为1.8。

2.加载JNA的Java库:

JNA库(jar包)下载地址为:http://www.java2s.com/Code/JarDownload/jna/

选择你需要的jna版本下载,之后在Java项目中创建一个文件夹用于存放库文件,例如“lib”文件夹,最后将下载的jna库包放入,之后在此库包上右键,添加进库即可,如下图:

在这里插入图片描述

之后需要用import对此库进行引入,代码见下文“Java调用dll动态库”。
关于import的基本知识,可以看文末的 补充阅读第10项 “Java的package和import机制”

最后的文件目录如图:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值