我正在尝试使用CNI使用GCJ从Java调用C ++,到目前为止,我能够从C ++调用Java代码。如何使用CNI从Java调用C ++?

有帮助吗?

解决方案

我将在Pcent的答案上进行一些延伸以阅读 GCJ/CNI文档.

我相信关键是要了解整个“ CNI C ++类”概念。

  • CNI C ++类的创建在 那页.
  • 您可以从CNI C ++类调用Java代码(前提是您已经生成了标头文件) - 这就是您已经做的(从C ++调用Java)。
  • 关键是 可以从Java调用CNI C ++方法 (因为这些课程对它们有一系列限制,以使它们与Java兼容)。而且,由于CNI类只是(特定类型的)C ++类,因此您也可以像链接任何C ++类一样将其链接到其他库。

大部分的 文档 描述Java惯例如何在CNI C ++类中翻译。

其他提示

尝试阅读 GCJ/CNI文档

我不是一个很好的Java程序员,但我与C#/C ++ Interop相当。从本机C ++致电托管C#的最佳解决方案是使用 回调. 。我认为这也适用于 jni

尝试阅读: http://www.tidytiarorials.com/2009/07/java-native-interface-interface-jni-example-using.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top