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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以创建一个从Java调用的Boost c ++光纤的JNI调用吗? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

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

答案

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

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

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

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

以上是关于我可以创建一个从Java调用的Boost c ++光纤的JNI调用吗? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 Boost Python 从 c++ 类创建派生的 Python 类

从 boost::signals2 安全断开

boost::python - 如何从 C++ 在自己的线程中调用 python 函数?

通过 SWIG 从 Ruby 调用 Boost?

C++ ReadConsoleInput 不适用于 boost::thread

Boost.Python 从 C++ 创建对现有 Python 对象的新引用