我的java项目中有一个c ++自定义库。这个自定义c ++ lib使用光纤(boost c ++库)。我可以从java调用c ++光纤吗? 即使VM不知道,VM内部的光纤也可以工作。所以一切都可能没问题,但也许有一些我对VM设计有所了解的东西,在这种用法中没有预料到的? (请注意,它不是正常的c ++调用,它在C ++中使用光纤框架,所以c ++中的TLS可能与java冲突吗?线程上下文切换是一样的吗?)
答案 0 :(得分:0)
我可以从java调用c ++光纤吗?
是的,你可以用Java调用C ++库。您可以使用 Java Native Interface(JNI)将C ++模块调用到java中。
因此,如果需要,您必须编写包装器库以访问C ++中的内置库。 所以Java代码将使用JNI连接到Wrapper C ++库,Wrapper Library将连接到C ++的光纤库。
请参阅以下tutorial以了解JNI电话。