【混合编程jni 】第十二篇 jnaerator

举报
香菜聊游戏 发表于 2022/06/26 21:35:03 2022/06/26
【摘要】 工欲善其事必先利其器,简单的函数我们可以手动的去写,但是复杂的结构体再让我自己写就有点过分了,这样的生产方式有点低,而且可能写错,毕竟机器比人靠谱这一节就介绍下JNA的工具jnaerator,将你从繁琐的且复杂的签名中解脱出来jnaerator 来历项目地址:GitHub - java-native-access/jna: Java Native AccessJNA 使 Java 程序可以轻...

工欲善其事必先利其器,简单的函数我们可以手动的去写,但是复杂的结构体再让我自己写就有点过分了

,这样的生产方式有点低,而且可能写错,毕竟机器比人靠谱

这一节就介绍下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

太多了就不拷贝了

总结:

这节基本上没什么特殊的东西,主要还是为了说一下这个工具

工具的具体使用官网都有,自己看着试着谢谢就行了,没啥



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。