从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的交互. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |