編譯的C代碼,我想下面的代碼編譯外部C程序與Java程序從Java程序
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public static void main(String[] args){
try{
Runtime rt=Runtime.getRuntime();
Process pr=rt.exec("cmd /c PATH=%PATH%;c:\\TC\\BIN");
pr=rt.exec("cmd /c c:\\TC\\BIN\\TCC.exe c:\\TC\\EXAMPLE.c");
pr=rt.exec("c:\\TC\\EXAMPLE.exe");
BufferedReader input=new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line=null;
while((line=input.readLine())!=null){
System.out.println(line);
}
int exitVal=pr.waitFor();
System.out.println("exited with error code "+exitVal);
}
catch(Exception e){
System.out.println(e.toString());
//e.printStackTrace();
}
}
}
,但我得到:
產生java.io.IOException:不能運行程序「C:\ TC \ EXAMPLE.exe」:CreateProcess的錯誤= 2,系統找不到指定的文件
編譯過程不能正常工作,所以我還能做我的編譯C代碼?
所以我需要使用一些等待命令來使相同的程序能夠編譯和執行代碼? – user1617085
你可以直接調用rt.waitFor()它會等待進程結束並給出線程的退出值。 – JTMon