2 つのオプションがあります。JNI を使用するか、Runtime.exec を使用して C++ ライブラリを実行できます。
C++ プログラムは CPU を集中的に使用し、実行に時間がかかります。つまり、一部の呼び出しが戻るまでに最大 2 時間かかる場合があります。
それぞれの長所と短所は何ですか?どのアプローチを採用する必要がありますか?
2 つのオプションがあります。JNI を使用するか、Runtime.exec を使用して C++ ライブラリを実行できます。
C++ プログラムは CPU を集中的に使用し、実行に時間がかかります。つまり、一部の呼び出しが戻るまでに最大 2 時間かかる場合があります。
それぞれの長所と短所は何ですか?どのアプローチを採用する必要がありますか?
C++ ライブラリと対話する必要がある場合は、JNI を使用してください。
呼び出したいだけの(そしておそらく出力を取得したい)スタンドアロンプログラムの場合Runtime.exec()
は、はるかに簡単です。
JNIを使用すると、32ビットから64ビットに移動する機能が制限される場合があります。また、アプリケーションのメモリ設定も調整する必要がある場合があります。
C ++のものがどれだけうまく書かれているかを知らない限り、アプリがより不安定になる可能性があります。幸運なことに、C ++ビットには数時間かかるので、外部から呼び出すだけです。