1.523 Bytes hinzugefügt,
17:59, 11. Apr. 2019 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, wird während des Kompilierungsvorgangs die Option '''-save-temps''' gesetzt. Die Kompilierung einer Datei "helloworld.c" würde dann folgendermaßen aussehen:
<syntaxhighlight lang="bash">
gcc -save-temps -o helloworld helloworld.c
</syntaxhighlight>
{{explainshell|gcc -save-temps -o helloworld helloworld.c}}
Es werden folgende Dateien hierbei erstellt (Kommando: <code>ls -l --time-style '+'</code>):
<pre>
-rwxr-xr-x 1 user user 16576 helloworld
-rw-r--r-- 1 user user 101 helloworld.c
-rw-r--r-- 1 user user 15656 helloworld.i
-rw-r--r-- 1 user user 1528 helloworld.o
-rw-r--r-- 1 user user 451 helloworld.s
</pre>
Folgende Dateien sind dabei von Bedeutung:
* '''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
== Appendix ==
Folgender Code wurde für dieses Tutorial verwendet:
helloworld.c
<syntaxhighlight lang="c">
#include <stdio.h>
int main()
{
printf("Hello world!\n");
return 0; /* return code: success */
}
</syntaxhighlight>
[[Kategorie:C]]
[[Kategorie:GCC]]
[[Kategorie:Linux]]