GCC wird normalerweise angewiesen, über die Datei in eine Datei auszugeben -o
Schalter. Wenn dies nicht vorgesehen ist, scheint es sich für einen geeigneten Namen zu entscheiden und diesen auszugeben. Wie bringe ich GCC dazu, seine generierte Ausgabe auf stdout zu schreiben?
Wie erstelle ich eine GCC-Ausgabe auf stdout?
Sarnold
gcc -o /dev/stdout foo.c
Beachten Sie, dass /dev/stdout
ist als Symlink definiert: /dev/stdout -> /proc/self/fd/1
.
-
Gibt es eine ähnliche Lösung für Windows? Oder muss ich es für plattformübergreifende Lösungen hacken?
– Kevin Cox
27. Juli 2013 um 19:26 Uhr
-
@Kevin, wilde Vermutung, versuche es
-o CON
? Es ist schon eine Weile her, dass ich Windows gemacht habe. :/– Sarnold
29. Juli 2013 um 21:14 Uhr
-
Ein Wort der Vorsicht zu Cygwin:
gcc -o /dev/stdout foo.c
gibt nichts aus, abergcc -c -o /dev/stdout foo.c
löscht/dev/stdout
!– Matt
19. Februar 2015 um 15:59 Uhr
-
@Matt Also, wie kann man die GCC-Ausgabe auf Cygwin auf stdout machen?
– pmor
26. August 2021 um 9:35 Uhr
Sie können -o- verwenden, um beispielsweise eine Montageliste zu drucken:
gcc -S -o- in.c
-
Es ist wichtig zu beachten, dass dies nur für einige Ausgänge funktioniert. Zum Beispiel
gcc -o- test.c
erstellt eine ausführbare Datei namens-
.– Kevin Cox
27. Juli 2013 um 19:24 Uhr
Ähm, was werden Sie mit einer binären Objektdatei machen, die auf stdout ausgegeben wird? Wie auch immer, einige Programme akzeptieren das Zeichen ‘-‘ (einfaches Minus, keine Anführungszeichen) als Ersatz für stdout. Wenn Sie Linux verwenden, können Sie dies tun -o /dev/fd/1
-
Ist es sicher, einfach irgendetwas zu schreiben
/dev/fd/1
?– Mas Bagol
28. Mai 2018 um 11:43 Uhr
-
@MasBagol Ja, das ist es.
– doug65536
9. Mai 2021 um 5:55 Uhr
Wohin willst du es leiten?
– Traumlax
13. August 2010 um 7:06 Uhr
Wie die Antwort von ergosys andeutet, geben einige Aufrufe von GCC eine Assembly-Datei aus, keine Binärdatei. In meinem Fall möchte ich es mir ansehen!
– Brooks Moses
15. Februar 2013 um 0:38 Uhr