Wie erstelle ich eine GCC-Ausgabe auf stdout?

Lesezeit: 2 Minuten

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?

  • 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

Benutzer-Avatar
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, aber gcc -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

1372070cookie-checkWie erstelle ich eine GCC-Ausgabe auf stdout?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy