我可以创建一个从Java调用的Boost c ++光纤的JNI调用吗?

时间:2017-12-18 17:11:02

标签: java c++ boost java-native-interface

我的java项目中有一个c ++自定义库。这个自定义c ++ lib使用光纤(boost c ++库)。我可以从java调用c ++光纤吗? 即使VM不知道,VM内部的光纤也可以工作。所以一切都可能没问题,但也许有一些我对VM设计有所了解的东西,在这种用法中没有预料到的? (请注意,它不是正常的c ++调用,它在C ++中使用光纤框架,所以c ++中的TLS可能与java冲突吗?线程上下文切换是一样的吗?)

1 个答案:

答案 0 :(得分:0)

我可以从java调用c ++光纤吗?

是的,你可以用Java调用C ++库。您可以使用 Java Native Interface(JNI)将C ++模块调用到java中。

因此,如果需要,您必须编写包装器库以访问C ++中的内置库。 所以Java代码将使用JNI连接到Wrapper C ++库,Wrapper Library将连接到C ++的光纤库。

请参阅以下tutorial以了解JNI电话。