【发布时间】:2012-10-07 03:39:51
【问题描述】:
我用Java(基于Swing)制作了一个游戏引擎,我不想把它翻译成c++,为了简化这个过程,我想知道如何从c++调用Java api。
基本上我不想做的是使用包装 java 库并使其可用于 c++ 的包装器。
谢谢。
【问题讨论】:
-
你的问题让我有点困惑。据我了解,游戏引擎是游戏的模型,其中不应该有 GUI 代码(这是视图的责任,而不是引擎),实际上应该与 GUI 库无关。所以它真的应该和 Swing 没什么关系。回到您的问题,将 Java 与 C++ 连接的经典方式是通过 JNI 或 JNA。还有其他方法,包括 Sockets 或 CORBA 或其他。
-
我已经在 Java 版本中包含了 GUI。我只需要从 C++ 调用它们,即扩展 Java 类的 C++ 类
-
不,扩展 Java 类的 C++ 类根本无法完成,因为它们是具有不同架构的完全不同的野兽。使用 JNI,您可以为 Java 类创建 C++ 包装器,但据我所知,仅此而已。