None
Programmierung

GCC: Zwischenschritte speichern

by Viktor Garske on April 12, 2019, 10:55 a.m.
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)

Tags:
Author image
Viktor Garske

Viktor Garske ist der Hauptautor des Blogs und schreibt gerne über Technologie, Panorama sowie Tipps & Tricks.

Comments (0)

Comments are not enabled for this entry.