Um eine Kompilation auszuführen ohne den Linker aufzurufen, wird die
Option -c verwendet. Der Compiler erzeugt dann für jede
Quelldatei eine entsprechende Objektdatei (bei den Namen der Objektdateien
wird die Endung der Quelldateien durch .o ersetzt).
Um optimierten Code zu erhalten kann die Option -O[n] verwendet
werden. n ist eine Zahl von 0 bis 3, die angibt wie stark
optimiert werden soll. 0 stellt den Optimizer ab (default), 3
optimiert auf höchster Stufe, wodurch die Kompilationszeit sehr
verlängert werden kann.
Zum Erzugen von zusätzlicher Symbolinformation, die zum Deguggen
benötigt wird, muß der Compiler mit der -g Option aufgerufen
werden. Diese Option stellt die Optimierungsoptionen (-O[n]) wieder
ab.
Per default sucht der Kompiler nur in /usr/include nach
Include-Dateien, soll auch in anderen Verzeichnissen gesucht werden, so
müssen diese jeweils mit -I<dirname> angegeben werden. (Es wird
dann zuerst in diesen Verzeichnissen und erst zuletzt im Defaultverzeichnis
gesucht.)
Mit den Optionen -L und -l kann der Pfad und der Name von Bibliotheken angegeben werden, die der Linker benötigt, um ein ausführbares Programm zu erzeugen.
-v bzw. -fullwarn veranlassen den Compiler dazu, weitere
Prüfungen durchzuführen und zusätzliche Warnungen auszugeben.
Die Option -P startet nur den Präprozessor und speichert dessen
Ausgabe für eine jede Quelldatei in einer entsprechenden .i-Datei.
Eine ähnliche Funktion hat die Option -E, auch sie startet
nur den Präprozessor, sendet dessen Ausgabe aber nach stdout und
fügt in den Code #line-Direktiven ein.
Auch die Option -M startet nur den Präprozessor, ihre Funktion ist
es make-Abhängigkeiten herauszufinden und diese dann nach
stdout zu schreiben.
-show gibt die Aufrufe aller Compilerdurchläufe aus, einschliesslich der übergebenen Parameter und der Input- und Outputdateien.