私は既にこれについてのいくつかの記事があることを知っているが、彼らの誰も私の質問に答えた。JavaでCプログラムを呼び出す
私はプログラムをC言語で書いていますが、私は自分のGUIをJavaで開発しました。ですから、ボタンやコンボボックスをクリックするとCプログラムが呼び出されます。
これを行うには、Cプログラムをコンパイルして、それを私のJavaインターフェイスで呼び出すことは可能ですか? (もし可能であれば、どうすればよいのでしょうか?)。
またはにはが必要ですか?JNIを使用しますか? (私はそれについていくつかの記事を読んだが、それはただ一つのプロジェクトのためにそれを学ぶのはかなり複雑だったようだ)。あなたはJNIを使用しますが、簡単なアプローチとしてだけでCコードをコンパイルし、Runtime.getRuntime().exec()
でJAVAからCの実行可能ファイルを呼び出す必要があり、最大の相互運用性を持つように
はい、あなたは、Javaプログラムと相互運用するためにCコードが必要な場合はJavaの – aleb2000
からネイティブメソッドを呼び出すためにJNIを使用する必要がありますJNI(またはJNA)を使用するのが正しい解決策です。コンパイルされたプログラムを起動したいだけなら、システムコマンドで実行することができます(これは他の多くの問題を引き起こす可能性があります)。 – UnholySheep
これはうまくいきません。あなたはこれについてもっと慎重に考えなければなりません。そのCプログラムをJavaに移植します。時間です。あなた自身の心を癒すでしょう。そのC実行可能ファイルを再利用することによって発生する「節約」は、苦労する価値はありません。 – duffymo