Forum: Compiler & IDEs Präprozessor-Warnings in Datei sichern


von Gast (Gast)


Lesenswert?

Hallo Allerseits,

kann man die Warnungen, die der C-Präprozessor (cpp) mit der Anweisung
1
 cpp -E -CC main.c -o main.i

auf STDOUT (Konsole) erzeugt, irgendwie in eine weitere Datei speichern?


1
 cpp -E -CC main.c -o main.i > main.err
funktioniert (zumindest mit Windows XP) nicht.

von Karl H. (kbuchegg)


Lesenswert?

Was ist mit

cpp -E -CC main.c -o main.i >> main.err

von Gast (Gast)


Lesenswert?

Es bleibt dabei: die Warnungen landen auf der Konsole und es wird mir 
eine hübsche - allerdings leere - main.err angelegt

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

cpp -E -CC main.c -o main.i 2> main.err

von Gast (Gast)


Lesenswert?

1
 cpp -E -CC main.c -o main.i 2> main.err

Das funktioniert, danke! Könntest Du bitte auch noch erklären, warum? 
Das 2> ist mir nicht bekannt

von Florian (Gast)


Lesenswert?

Es gibt ein paar Dateihandles, die im System definiert sind:

1 (oder leer) = Standard Output bzw. Standard Input
2 = Standard Error

(in C stdout und stderr)

> ist üblicherweise äquivalent zu 1>
2> leitet dann stderr um

Du kannst auch

xyz 2>&1 > ausgabe

machen, Das 2>&1 leitet den stderr in stdin/stdout um.

Ansonsten kann man | verwenden, um den stdout als stdin an einen Prozess 
zu schieben:

cat xyz.text | more

Zwei Klammern >> hängen an die Zieldatei an. Für den Fall, dass der 
Input umgeleitet werden soll, verwendet man <

Also geht auch

more < xyz.text

Noch Fragen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.