【混合编程jni 】第十二篇 jnaerator
工欲善其事必先利其器,简单的函数我们可以手动的去写,但是复杂的结构体再让我自己写就有点过分了
,这样的生产方式有点低,而且可能写错,毕竟机器比人靠谱
这一节就介绍下JNA的工具jnaerator,将你从繁琐的且复杂的签名中解脱出来
jnaerator 来历
项目地址:GitHub - java-native-access/jna: Java Native Access
JNA 使 Java 程序可以轻松访问本机共享库,无需编写 Java 代码以外的任何内容 - 不需要 JNI 或本机代码。
Java 调用看起来就像本机代码中的调用一样。大多数调用不需要特殊处理或配置;不需要样板文件或生成的代码。
开发人员使用 Java 接口来描述目标本地库中的函数和结构。这使得利用本机平台特性变得非常容易
JNA jar包下载地址: jna -5.10.0.jar jna-jpms-5.10.0.jar
这是 JNA 的核心工件,仅包含绑定库和核心帮助程序类。
JNA平台
jna -platform-5.10.0.jar jna-platform-jpms-5.10.0.jar
该工件包含跨平台映射和许多常用平台功能的映射,包括大量 Win32 映射以及一组简化本机访问的实用程序类。代码经过测试,实用程序接口确保正确处理本机内存管理。
生成接口文件
脚本
java -jar jna-5.10.0.jar \
-runtime JNA \
-mode Directory \
-o jna_code
-package com.pdool
-f ./library.h ./SSC.h libtestCppJNA.so
命令的说明文档:Command Line Options And Environment Variables · nativelibs4java/JNAerator Wiki · GitHub
太多了就不拷贝了
总结:
这节基本上没什么特殊的东西,主要还是为了说一下这个工具
工具的具体使用官网都有,自己看着试着谢谢就行了,没啥
- 点赞
- 收藏
- 关注作者
评论(0)