从java程序调用C编译器

时间:2013-10-28 05:36:05

标签: java c swing mingw processbuilder

我有一个项目,我需要编译C程序。该项目是Java。我必须将程序带入JTextArea(我使用Swing for 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文件,但它不是。正确的方法是什么?

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

提前致谢。

1 个答案:

答案 0 :(得分:2)

  

这样做的正确方法是什么?

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