Rückgabe/VErarbeitungs Strings/Werte von GCC beim compilieren auslesen?



  • Hallo,

    folgendes Beispiel: die rar.exe welches die Kommadozeilenversion von winrar.exe ist , läßt sich auslesen und ich bekomme bestimmte strings zurück, z.B. wie weit der packvorgang ist oder welche datei gepackt wird gerade.

    Nun baue ich mir gerade meine IDE zusammen die den gcc.exe als compiler nutzt und würde gerne wissen, wenn der gcc.exe etwas compiliert und z.B. eine Fehlermeldung in die CMD ausgibt , ob ich diese Fehlermeldung auch auslesen kann, um sie z.B. in meiner IDE anzuzeigen 😉



  • äh, klar. Dafür gibt es pipes. 🙄



  • rüdiger schrieb:

    äh, klar. Dafür gibt es pipes. 🙄

    rüdiger schrieb:

    äh, klar. Dafür gibt es pipes. 🙄

    äh warum bist du eigentlich moderator? Ich stelle als Anfänger keine alltägliche Frage und du verdrehst die Augen??? 🙄

    anstatt zu mosern hat der Herr vielleicht einen Link der gcc in Verbindung mit "pipes" erklärt? google: gcc pipes bringt net viel zu tage außer mailing listen...



  • pipes leiten den standard ouput eines programmes in den standard input des nächsten. Das Zeichen lautet | und wird zwischen die befehle geschrieben.

    Beispiel (bash):
    echo "hallo welt" | cut -d " " -f 1

    Funzen pipes eig auf auf der windows konsole?



  • Kenne Pipes aus Linux oder Unix nicht, aber man kann auch unter Windows die Ausgaben umleiten, z.B. in einer Textdatei.

    bla.exe 1>log.txt 2>error.txt
    

    Mache aber davon selber keinen Gebrauch, bis halt auf das Umleiten in Textdateien.



  • Die "alte" Windows - Konsole kennt keine Pipes, wie das mit dieser PowerShell aussieht kann ich nicht sagen, die solte das aber eigentlich schon können.



  • Artchi schrieb:

    Kenne Pipes aus Linux oder Unix nicht, aber man kann auch unter Windows die Ausgaben umleiten, z.B. in einer Textdatei.

    bla.exe 1>log.txt 2>error.txt
    

    Mache aber davon selber keinen Gebrauch, bis halt auf das Umleiten in Textdateien.

    ok leute es geht, da ich den aufruf der gcc.exe mit java mache musste ich den ErrorStream ausgeben lassen 😉

    Process p = Runtime.getRuntime().exec("C:/Programme/GCC/bin/gcc.exe -o main.exe main.c");
    

    In obigem code ist die main.c auch in dem ordner wo die gcc.exe liegt. Als ergebniss soll eine main.exe rauskommen, warum geht das nicht?

    Fehlermeldung: gcc.exe: main.c: No such file or directory
    gcc.exe: no input files
    

    EDIT: ok mein Fehler natürlich muss die main.c im user.dir liegen dennoch bekomme ich eine Fehlermeldung und die datei wird net compiliert:

    main.c: In function 'main':
    main.c:3: warning: incompatible implicit declaration of built-in function 'printf'
    gcc.exe: CreateProcess: No such file or directory
    

    EDIT: ok habe den fehler weiß nur net wie ich den als C - newbie beheben soll:

    Process p = Runtime.getRuntime().exec("C:/Programme/GCC/bin/gcc.exe -o hallo.exe hallo.c");

    Fehlermeldung:

    hallo.c:2:19: error: stdio.h: No such file or directory
    hallo.c: In function 'main':
    hallo.c:5: warning: incompatible implicit declaration of built-in function 'printf'
    

    die stdio.h fehlt oder kein zugriff drauf? Wie stelle ich die Verbindung her zur stdio.h oder wo muss diese liegen, damit sie beim compilen eingebunden wird?


Anmelden zum Antworten