2012-10-07 61 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 –