C
Auch bei den Schaltern für GCC handelt es sich um
Kommandozeilenparameter. Das Verhalten von GCC läßt sich
hier im Vergleich zu TC/PC oder auch Sozobon sehr fein steuern, so
daß hier nur eine kleine Auswahl vorgestellt werden kann.
- -c
- Dieser Schalter weist den Compiler an, die Datei nur zu
compilieren und den Linker nicht aufzurufen. Das daraus resultierende
Objektfile hat den gleichen Namen wie die Quelldatei, aber mit .o als
Extension. Dieser Schalter wird benötigt, wenn eine Programm aus
mehr als einer Datei besteht. Dann muß jede Datei nur
übersetzt werden und sämtliche Objektdateien müssen zu
dem Programm zusammengelinkt werden.
- -S
- GCC übersetzt eine Quelldatei zu einer Objektdatei in zwei
Schritten. Im ersten Schritt wird eine Assemblerdatei erzeugt, die
anschließend von einem Assembler übersetzt wird. Dieser
Schalter weist den Compiler an, nur die Assemblerdatei zu erzeugen.
Damit ist der Schalter gerade für einen Anfänger weniger
wichtig. Wer aber etwas Assembler beherrscht, kann einmal seine
Neugierde befriedigen.
- -E
- Dieser Schalter weist den Compiler an, nur den Preprozessor zu
starten. Dies kann manchmal recht nützlich sein, wenn ein Makro
nicht das tut, was es soll. Die Ausgabe wird auf die Standardausgabe,
also auf den Monitor ausgegeben und kann mittels Ausgabeumlenkung in
eine Datei geschrieben werden.
- -o <file>
- Dieser Schalter setzt den Namen des Outputfiles auf <file>.
Dies ist wichtig für den Linkvorgang, da der Linker sonst den
Namen a.out benutzt.
- -funsigned-char
- Diese Option setzt den Standard-Datentyp für char auf
unsigned. Achtung: wenn mittels dieser Option zwischen signed unf
unsigned char umgeschaltet wird, sind die Programme nicht mehr
portabel!
- -D<sym>
- Mit diesem Schalter definiert man für den Preprozessor das
Symbol sym mit dem Wert 1. Dies ist z.B. nützlich, um für
die auszuliefernde Version des Programms NDEBUG zu definieren und
damit das Makro assert auszublenden.
- -D<macro=defn>
- Dieser Schalter ist gleichbedeutend mit der Preprozessoranweisung
#define sym val
- -l<library>
- Mit diesem Schalter weist man den Linker an, eine Bibliothek mit
dem Dateinamen 'lib<name>.a' zu dem Programm zu linken.
- -I<dir>
- Mit diesem Schalter gibt man dem Preprozessor einen weiteren Pfad
bekannt, den er für die include Anweisung nach Headerdateien
durchsucht.
- -L<dir>
- Mit diesem Schalter gibt man dem Linker einen weiteren Pfad
bekannt, den er nach den Bibliotheken durchsucht, die er zulinken
möchte.
- -pedantic
- Mit diesem Schalter weist man den Compiler an, sich bei der
Überprüfung strikt an den ANSI Standard zu halten.
- -pedantic-errors
- Dieser Schalter arbeitet wie -pedantic, führt aber immer zu
einem Error wenn ansonsten nur eine Warnungen erscheinen würde.
- -W...
- Diverse Varianten von -W schalten zusätzliche
Überprüfungen ein und erzeugen eine Warnung, wenn der Test
nicht zutrifft. Hier sollte man nicht sparsam sein, da einige der
Warnungen auch auf einen Fehler im Programm hinweisen können.
Welche Varianten es gibt, kann der Anleitung zu GCC bzw. der manual
page entnommen werden. Die einfachste Möglichkeit ist es, -Wall
für sämtliche Warnungen zu setzen.
- -mc68020
- Dieser Schalter weist den Compiler an, Code für einen 68020
Prozessor oder größer zu erzeugen. Dies ist die
Grundeinstellung, wenn der GCC aus den Originalsourcen erstellt wird.
Es sollte aber normalerweise keinen Grund geben, die älteren
Ataris (1040, Mega ST, ...) auszusperren, da diese Optimierung nur
einen geringen Vorteil bietet.
- -mc68000
- Dieser Schalter weist den Compiler an, Code zu generieren, der
auch auf Computer mit 68000 CPU läuft.
- -m68881
- Dieser Schalter weist den Compiler an, Code für den 68881
Coprozessor zu erzeugen. Damit läuft das Programm nur noch auf
Ataris mit FPU. Wenn ein Programm intensiv Fließkommaberechnung
benutzen muß, ist diese Optimierung sinnvoll.
- -mshort
- Dieser Schalter weist den Compiler an, einen int als 16 bit Wert
zu betrachten.
|
English version not yet available.
|
Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home -
Mail an den Webmaster -
Impressum