我有一个项目需要编译 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 文件,但事实并非如此。正确的方法是什么?
我看到了另外两篇与此类似的帖子,但他们也没有为此提供简单干净的解决方案。 另外,我必须在它之后运行创建的可执行文件。
提前致谢。
最佳答案
What is the proper way to do it?
一种方法是使用 javax.tools.JavaCompiler
“从程序中调用 Java™ 编程语言编译器。”有一个例子here .
关于java - 从java程序调用C编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19627788/