3

2 つのオプションがあります。JNI を使用するか、Runtime.exec を使用して C++ ライブラリを実行できます。

C++ プログラムは CPU を集中的に使用し、実行に時間がかかります。つまり、一部の呼び出しが戻るまでに最大 2 時間かかる場合があります。

それぞれの長所と短所は何ですか?どのアプローチを採用する必要がありますか?

4

3 に答える 3

5

C++ ライブラリと対話する必要がある場合は、JNI を使用してください。

呼び出したいだけの(そしておそらく出力を取得したい)スタンドアロンプ​​ログラムの場合Runtime.exec()は、はるかに簡単です。

于 2009-04-23T17:48:26.260 に答える
2

3 番目のオプションとして JNAを調べましたか?

JNAサイトから:

JNA を使用すると、Java プログラムはネイティブ共有ライブラリ (Windows では DLL) に簡単にアクセスできます。Java コードだけを記述する必要はありません。JNI やネイティブ コードは必要ありません。この機能は、Windows の Platform/Invoke および Python の ctypes に匹敵します。アクセスは、コード生成なしで実行時に動的です。

導入については、入門ガイドを参照してください。

于 2009-04-23T18:46:29.973 に答える
0

JNIを使​​用すると、32ビットから64ビットに移動する機能が制限される場合があります。また、アプリケーションのメモリ設定も調整する必要がある場合があります。

C ++のものがどれだけうまく書かれているかを知らない限り、アプリがより不安定になる可能性があります。幸運なことに、C ++ビットには数時間かかるので、外部から呼び出すだけです。

于 2009-04-23T22:04:52.413 に答える