首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java -我有一个库(.a/. to )和标头(.h),如何使用Java调用它们的函数?

问Java -我有一个库(.a/. to )和标头(.h),如何使用Java调用它们的函数?
EN

Stack Overflow用户
提问于 2014-09-25 08:54:18
回答 1查看 3.3K关注 0票数 2

有人寄给我他的静态库(lib.a)和头文件(lib.h)--应该用C++编写,我使用gcc编译器将静态库(lib.a)转换为共享库(.so)。现在,我想使用Java调用库来使用它的函数。

我尝试过System.load和System.loadLibrary,但是我不知道如何调用它的函数。例如,我看到头文件中有一个函数名为MoveFront(int),它将返回状态的整数。

代码语言:javascript
复制
extern int MoveFront(int);

有办法这么做吗?谢谢。

我使用Ubuntu13.10,JDK 1.8.0_20,gcc 4.6.3。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-25 10:14:24

您不能在Java中直接调用它们

你必须用JNI建一座桥

将lib.a与bridge.c链接到libbridge.so中,则java可以使用System.loadLibrary("bridge")来使用它

这里的一些指南https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26034357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档