Как я могу вызвать компилятор Cygwin C GCC из Java? - PullRequest
3 голосов
/ 08 марта 2012

Я пытаюсь скомпилировать файл C из Java, вызывая Cygwin gcc или gcc-4, но ничего, что я пробую, похоже не работаетЯ пытаюсь выполнить следующую строку кода:

theProcess = Runtime.getRuntime().exec("cmd /c C:/cygwin/bin/gcc-4.exe -o C:/work/source.exe C:/work/source.c");

Однако ничего не получилось.

1 Ответ

1 голос
/ 08 марта 2012

Мне нужно больше узнать о том, что вы делаете с theProcess после этого утверждения, чтобы полностью это понять. Но простой вызов «exec» ничего не выведет на вывод Std, если это то, что вы ожидаете. В некоторых случаях команды не будут выполняться вообще, если их вывод не используется. При этом вам нужно будет прочитать выходные данные созданного объекта Process. Попробуйте что-то вроде этого:

BufferedReader br = new BufferedReader (new InputStreamReader (theProcess.getInputStream());
String line = br.readLine();
while (line != null) {
    System.out.println(line);
    line = br.readLine();
}

Это напечатает вывод из стандартного вывода процесса на стандартный вывод JVM.

...