GCC: Zwischenschritte speichern

None
VGKB Icon Dieser Blogartikel ist themenverwandt mit der Wikiseite GCC: Zwischenschritte speichern aus dem VGKB.

Um während der Kompilierung in GCC die Zwischenschritte, d.h. die Ausgabe des Präprozessors, den Assembler-Code sowie die Object-Files, permanent (statt lediglich temporär) zu speichern, kann während des Kompilierungsvorgangs die Option -save-temps gesetzt.

Die Kompilierung einer Datei "helloworld.c" würde dann folgendermaßen aussehen:

gcc -save-temps -o helloworld helloworld.c

Es werden folgende Dateien hierbei erstellt:

  • helloworld ist die ausführbare Datei
  • helloworld.c enthält den Source, der vom Entwickler geschrieben wurde
  • helloworld.i enthält die Ausgabe des Präprozessors, hier sind z.B. alle defines, includes, etc. bereits aufgelöst
  • helloworld.o ist die Objektdatei
  • helloworld.s enthält den Assembler-Code

Eine sinnvolle Option für alle, die den Kompilierungsprozess genauer verstehen möchten oder Entwickler, die bestimmte Fehler finden wollen, die z.B. beim Präprozessoroutput auffallen würden. (z.B. warum genau ein Include-Guard benötigt wird)

Keine Kommentare

Kommentar verfassen