从Java调用C++代码(GCJ)

Joe*_*e D 7 c++ java g++ gcj cross-language

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

Jea*_*nal 5

我将在 pcent 的答案上进行一些扩展,以阅读GCJ/CNI Docs

我认为关键是理解整个“CNI C++ 类”概念。

  • 该页面解释了 CNI C++ 类的创建。
  • 您可以从 CNI C++ 类调用 Java 代码(前提是您已生成头文件) - 这就是您已经执行的操作(从 C++ 调用 Java)。
  • 关键点是CNI C++ 方法可以从 Java 调用(因为这些类有一组限制以使其与 Java 兼容)。由于 CNI 类只是一个(特定类型的)C++ 类,因此您也可以将其链接到其他库,就像链接任何 C++ 类一样。

大多数文档描述了 Java 约定如何在 CNI C++ 类中转换。