2013-05-28 34 views
-3

有沒有使用C++和Java的程序/軟件?C++和Java如何相互通信?

如果是的話,他們如何相互溝通?

理論和程序請。

示例:假設我想用Java applet或類似的東西來運行C++文件。

+1

[Java Native Interface](http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/intro.html#wp9502) – johnchen902

+1

尋找[JNI](http:// www.pacifier.com/~mmead/cs510jip/jni/) –

+0

非常感謝johnchen902和g-makulik。 這樣做。似乎我已經找到了我的Java答案。如果我必須用C++來做同樣的事情,那麼我該怎麼做? –

回答

4

Java本地接口

臨:快速的方法來從Java調用一個C++庫和周圍的其他方式。

Contra:您需要控制庫以使其支持JNI。

創建從Java的過程,並通過輸入 - 與它溝通和輸出流

臨:二進制是在一個單獨的線程中運行。二進制可以用任何允許基於命令行的輸入和輸出的編程語言實現。

Contra:數據交換是基於文本的。您僅限於taget應用程序可通過命令行界面執行的操作。

使兩個應用程序通過網絡套接字

專業通信:應用程序可以在支持網絡套接字的任何技術來實現。您可以輕鬆地將組件移至其他計算機以提高可伸縮性。市場部門可以稱之爲「雲端供電」。

Contra:應用程序必須是基於網絡的。即使在本地運行,OS在網絡堆棧上的繞行也會引入額外的延遲。必須採取安全措施,以防止未經授權的客戶端連接到充當服務器的組件。