2

我有一个需要编译 C 程序的项目。该项目使用Java。我必须将程序放入 JTextArea,(我使用 Swing 进行 GUI),针对测试文件运行它并将结果输出到另一个 JTextArea。但是我的代码似乎有问题。

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

program.c 包含用户进入 TextArea 的程序,“c:\MinGW\bin\cc.exe”是我的 c 编译器。我检查了这并没有引发任何异常。它应该在我的当前目录中创建一个名为 a.exe 的文件,其中包含 program.c 文件,但事实并非如此。正确的方法是什么?

我看到了另外两个与此类似的帖子,但它们也没有为此提供简单的干净解决方案。另外,我必须在它之后运行创建的可执行文件。

提前致谢。

4

1 回答 1

2

正确的方法是什么?

一种方法是使用javax.tools.JavaCompiler“从程序中调用 Java™ 编程语言编译器”。这里有一个例子。

于 2013-10-28T11:16:22.900 回答