C++ と Java の両方を使用するプログラム/ソフトウェアはありますか?
もしそうなら、彼らはどのようにお互いにコミュニケーションをとっていますか?
理論とプログラムをお願いします。
例: Java アプレットなどで C++ ファイルを実行したいとします。
Java ネイティブ インターフェイス
長所: Java から C++ ライブラリを呼び出す高速な方法、およびその逆。
反対: JNI をサポートするには、ライブラリを制御する必要があります。
Java からプロセスを作成し、入力および出力ストリームを介してプロセスと通信する
長所: バイナリは別のスレッドで実行されます。バイナリは、コマンド ライン ベースの入出力が可能な任意のプログラミング言語で実装できます。
反対: データ交換はテキストベースです。コマンド ライン インターフェイス経由でターゲット アプリケーションが実行できることは限られています。
2 つのアプリケーションをネットワーク ソケット経由で通信させる
長所: アプリケーションは、ネットワーク ソケットをサポートする任意のテクノロジで実装できます。コンポーネントを別のマシンに簡単に移動して、スケーラビリティを向上させることができます。マーケティング部門は、これを「Cloud Powered」と呼ぶことができます。
反対: アプリケーションはネットワークベースである必要があります。ローカルで実行している場合でも、OS のネットワーク スタックを迂回すると、追加のレイテンシが発生します。サーバーとして機能するコンポーネントに無許可のクライアントが接続できないように、セキュリティ対策を講じる必要があります。