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

我试图用GCJ使用CNI从Java调用C ++,到目前为止我可以从C ++调用Java代码。 我如何使用CNI从Java调用C ++?


我会对pcent的答案进行一些延伸,以阅读GCJ / CNI Docs。

我相信关键是理解整个“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#的最佳解决方案是使用Callbacks 。 我认为这也适用于JNI

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

    链接地址: http://www.djcxy.com/p/1181.html

    上一篇: Invoking C++ code from Java (GCJ)

    下一篇: Adding a directory temporarily to Windows 7's DLL search paths