java学习之调用动态链接库——JNA入门实例

java 专栏收录该内容
2 篇文章 0 订阅

一.java学习之调用动态链接库——JNA入门实例

引言:
在编程的过程中,有时候某个功能用java语言来实现不是很方便,采用其他编程语言能够更好地实现此功能。然而对很多java程序员来说,对其他编程语言的掌握度并不高(大佬除外),让我们用其他语言来写实在有点难受,那这种情况该怎么办呢?java中提供了一下几种方式:JNI、JNA、Jnative等。本文讲的是采用JNA的方式对动态链接库进行调用。(注:由于本人初学JNA,有很多不足之处请读者不吝指教)
1.JNA
JNA(java native access),是一个基于JNI的开源框架,它很好地简化了调用过程,不用像JNI那样繁琐,下面让我们通过JNA来实现计算两数之和以及一个数的阶乘:
第一步:既然JNA是一个框架,那肯定少不了对应的jar包:jna.jar。别忘记引入项目。
第二步:创建一个简单的java项目:JNATest:

第三步:创建一个接口:DllLibrary,注意,此接口一定要继承 Library接口,接口中定义对应动态库中的方法add和factorial,不用实现这两个方法,因为方法已经实现在动态链接库中了,我这里的动态库是JNATest.dll;
在这里插入图片描述
第四步:创建一个测试类,来调用方法测试一下:
在这里插入图片描述
可以看到结果如下:
在这里插入图片描述
2.总结
一个简单的JNA实例就这样完成了,这里额外说明一下:动态库文件我是放在项目的根路径下,推荐这样做,简单明了,可以将动态库文件加入PATH环境变量之中,也可以通过动态库文件的绝对路径进行加载;还有就是在windows系统中,动态库文件以.dll结尾,在linux系统中,动态库文件以.so结尾。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值