У меня есть проект, для которого мне нужно скомпилировать программы на C. Проект находится на Java. Я должен взять программу в JTextArea (я использую Swing для графического интерфейса), запустить ее в тестовом файле и вывести результаты в другой 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, но это не так. Как правильно это сделать?
Я видел два других сообщения, похожих на это, но они также не предоставляют простого чистого решения для этого. Кроме того, я должен запустить созданный исполняемый файл после него.
Заранее спасибо.
ProcessBuilder
не вызовет исключения, если в процессе что-то пойдет не так (т. е. компилятор выйдет из строя), вы должны прочитать вывод процесса, чтобы убедиться, что ничего не пошло не так... - person MadProgrammer   schedule 28.10.2013exec
и (продолжайте) создаватьProcess
с помощьюProcessBuilder
. Я видел два других поста, похожих на этот.. Ссылки? - person Andrew Thompson   schedule 28.10.2013