在Java Source中调用gcc编译器来编译C文件。
List<String> command = new ArrayList<String>();
String fs = System.getProperty("file.separator");
command.add("C:\\cygwin" + fs + "bin" + fs + "sh");
command.add("-c");
command.add("/usr/bin/gcc /cygdrive/d/WorkSpace/TEST/HelloWorld.c -o /cygdrive/d/WorkSpace/HHH");
ProcessBuilder builder = new ProcessBuilder(command);
final Process process = builder.start();
未创建HHH.exe。有人可以解释一下这段代码有什么问题吗?
答案 0 :(得分:1)
您需要将字符串“cmd”和“/ c”作为命令列表中的前两个元素。从Java调用任何命令行进程时,这是必需的。