加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从C头文件生成Java接口

发布时间:2020-12-16 07:25:40 所属栏目:百科 来源:网络整理
导读:我们有一些我们需要与之接口的专有库.这些库是 Windows DLL或 Linux .so文件.我们得到了标题来定义接口.由于我从未对本机库进行任何操作,因此我查看了JNAerator(http://code.google.com/p/jnaerator/)以及BridJ和JNA的内容. 使用C头文件和编译的lib生成接口
我们有一些我们需要与之接口的专有库.这些库是 Windows DLL或 Linux .so文件.我们得到了标题来定义接口.由于我从未对本机库进行任何操作,因此我查看了JNAerator(http://code.google.com/p/jnaerator/)以及BridJ和JNA的内容.

使用C头文件和编译的lib生成接口的简单方法是什么?例如,通常采用JNA,例如:

SomeDLL lib = (SomeDLL) Native.loadLibrary("some_dll",SomeDLL.class);

我必须将DLL保留在某处:如何将DLL与Jar捆绑在一起?我使用Maven来构建Jar文件……但Native.loadLibrary接口不允许直接指定路径.

解决方法

JNI编码通常是编写C代码以创建本机粘合方法的手动过程.有一整本书可以解释它.

在某些情况下,http://jna.java.net/可以自动化或加速此过程,但不要指望它.

除非您沿着使用OSGi或类似Tanukisoft打包工具的方式走下去,否则您无法“捆绑本机库”,因此Java中没有用于此目的的内置功能.

您可以使用-Djava.library.path连接点以告诉java在何处查找本机库,或使用允许您指定完整路径的System.loadLibrary的较低级API.

如果您的本机库依次具有依赖关系,请注意与PATH和LD_LIBRARY_PATH的交互.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读