C 프로그램을 컴파일해야하는 프로젝트가 있습니다. 프로젝트는 Java로 진행됩니다. 나는 JTextArea로 프로그램을 가져와야한다. (GUI 용 스윙을 사용하고있다.) 테스트 파일에 대해 실행하고 다른 JTextArea로 결과를 출력해야한다. 하지만 뭔가 내 코드에서 잘못된 것으로 보인다. ": \는 MinGW \ 빈 \의는 cc.exe C는"내 C 컴파일러입니다Java 프로그램에서 C 컴파일러 호출
Process p = new ProcessBuilder("c:\\MinGW\\bin\\cc.exe", "program.c").start();
program.c에 사용자가 텍스트 영역에 입력하고 프로그램이 포함되어 있습니다. 나는 이것이 어떤 예외도 제기하지 않는다는 것을 확인했다. program.c 파일을 가지고있는 현재 디렉토리에 a.exe라는 이름의 파일을 생성해야하지만 그렇지 않습니다. 적절한 방법은 무엇입니까?
나는 이와 비슷한 다른 두 개의 게시물을 보았지만 이것에 대한 간단한 해결책도 제공하지 않습니다. 또한 생성 된 실행 파일을 실행해야합니다.
미리 감사드립니다.
ProcessBuilder는 프로세스 내에서 문제가 발생하면 예외를 발생시키지 않습니다. 즉, 컴파일러가 실패 할 경우 프로세스의 출력을 읽어야합니다. – MadProgrammer
읽기 (구현할 때) [Runtime.exec()이 실행되지 않을 때의 권장 사항] (http://www.javaworld.com/jw-12-2000/jw-1229-traps.html). 그게 문제를 해결할 수도 있습니다. 그렇지 않은 경우 실패한 이유에 대한 자세한 정보를 제공해야합니다. 그런 다음'exec'을 참조하고 (계속)'ProcessBuilder'를 사용하여'Process'를 빌드한다는 것을 무시하십시오. * "이 비슷한 두 개의 다른 게시물을 보았습니다."* 링크? –
@AndrewThompson 내가 잊어 버린 링크. 이 게시물에 제목을 쓸 때 그들은 제안을하고있었습니다. 나는 오늘 밤이 일을 할 것입니다. – kuroop