2

C プログラムをコンパイルする必要があるプロジェクトがあります。プロジェクトは Java です。プログラムを JTextArea に取り込み (GUI に Swing を使用しています)、テストファイルに対して実行し、結果を別の JTextArea に出力する必要があります。しかし、私のコードで何かが間違っているようです。

Process p = new ProcessBuilder("c:\\MinGW\\bin\\cc.exe", "program.c").start();

program.c にはユーザーが TextArea に入力するプログラムが含まれており、「c:\MinGW\bin\cc.exe」は私の c コンパイラです。これが例外を発生させていないことを確認しました。program.c ファイルを含む現在のディレクトリに a.exe という名前のファイルを作成する必要がありますが、そうではありません。それを行う適切な方法は何ですか?

これに似た他の2つの投稿を見ましたが、これに対する単純でクリーンな解決策も提供していません。また、その後、作成した実行ファイルを実行する必要があります。

前もって感謝します。

4

1 に答える 1

2

それを行う適切な方法は何ですか?

1 つの方法は、javax.tools.JavaCompiler「プログラムから Java™ プログラミング言語コンパイラーを呼び出す」ために使用することです。ここに例があります。

于 2013-10-28T11:16:22.900 に答える