2012-10-07 43 views
0

我在Java中创建了一个游戏引擎(基于Swing),并且我不想将它翻译为C++并简化了这个过程,我想知道如何从C++调用Java api。从C++调用Java Swing

基本上我想做的是使用一个包装java库的包装器,并使它可用于从c + +。

谢谢。

+2

你的问题有点让我困惑。据我了解,游戏引擎是游戏的典范,它内部不应有GUI代码(这是视图的责任,而不是引擎),实际上应该是GUI库不可知的。所以它应该与Swing无关。回到你的问题,Java与C++接口的经典方式是通过JNI或JNA。还有其他方式,包括套接字或CORBA或其他方式。 –

+0

我已经在Java版本中包含了GUI。我只需要从C++调用它们即扩展Java类的C++类 –

+0

不,扩展Java类的C++类根本无法完成,因为它们是具有不同体系结构的完全不同的野兽。使用JNI,您可以为Java类创建C++包装器,但据我所知,就是这样。 –

回答

2

使用JNI。尽量保持对基本数据类型的调用。从C++调用java并返回时,它需要覆盖。以下可能是一个很好的帮助。

http://www.steveolyo.com/JNI/JNI.html

+0

谢谢。一个宝贵的资源。 +1 –