Aufruf der GCC.exe aus Java mittels geRuntime().exec()
-
Hallo,
ich versuche mit Java herauszufinden, welche fehlercodes/meldungen der GNU GCC.exe compiler von sich gibt während der Laufzeit.
Anscheinend soll/kann das mit pipes geregelt werden. Ich habe aber keine Ahnung was pipes sind und google gibt nichts her... siehe mein Thread hier:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-193991.html
Der witz ist, dass die while schlife nie betreten wird...
import java.io.BufferedReader; import java.io.InputStreamReader; public class MainWindow { public MainWindow() { } public static void main(String[] args) { try { String test="d"; Process p = Runtime.getRuntime().exec("C:/Programme/GCC/bin/gcc.exe -o main.exe main.c"); BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); while((test = br.readLine()) != null) { System.out.println(test); System.out.println("hallo"); } } catch(Exception a) { a.printStackTrace(); } } }
-
möglicherweise, weil der compiler seine ausgaben in den standard error stream (std::cerr) pumpt. den holst du dir mit p.getErrorStream(). wenn du die ausgabe eines programms überwachen willst, solltest du immer beide streams überwachen.
-
vlt mit StreamGobbler
http://www.tomlauren.com/notes/javaTips.html#J2SE_Using_exec
-
thordk schrieb:
möglicherweise, weil der compiler seine ausgaben in den standard error stream (std::cerr) pumpt. den holst du dir mit p.getErrorStream(). wenn du die ausgabe eines programms überwachen willst, solltest du immer beide streams überwachen.
danke dir das hat schon was gebracht!