GCC

Transcription

GCC
Die wichtigsten Kommandos für das Arbeiten mit der GNU Compiler Collection (GCC):
1) Einfachster Aufruf
gcc <Quelldatei>
Beispiel: gcc v1_aufg1.c
Die ausführbare Datei heißt dann a.exe (DOS-Version) oder a.out (LINUX-Version)
2) Aufruf mit Umbenennung der Ausgabedatei
gcc <Quelldatei> -o <ausführbare Datei>
Beispiel: gcc v1_aufg2.c –o aufg2.exe
3) Compiler aufrufen, ohne den Linker zu starten (-c bedeutet compile only)
gcc <Quelldatei> -c -o <Objektdatei>
Beispiel: gcc v1_aufg3.c –c –o aufg3.o
Das übersetze Programm wird dann die Objekt-Datei mit dem Namen aufg3.o geschrieben
4) Mehrere Dateien (Quelldateien, die noch übersetzt werden müssen bzw. Objektdateien)
zusammenfügen:
gcc <Quelld. 1> … <Quelld. n> <Obj.d. 1> … <Obj.d. n> -o <ausführbare Datei>
Beispiel: gcc v2.c v3.c v2sub.o v3sub.o –o gesamt.exe
5) Definieren von Makros in der Kommandozeile (-D bedeutet define macro)
gcc <Quelldatei> -o <ausführbare Datei> -D<Makroname>
Beispiel: gcc v1.c –o aufg2.exe –Daufgabe2
Das ist äquivalent dazu, dass in der Quelldatei ein #define aufgabe2 steht – was für eine
bedingte Kompilierung genutzt werden kann.
Wichtiger Hinweis für LINUX:
Funktionen aus der mathematischen Bibliothek werden beim Linken nur gefunden, wenn die Option
–lm mit angegeben wurde.
Beispiel: gcc v1.c –o v1.exe -lm
Hinweise zum Starten des ausführbaren Programms:
Beim Starten der ausführbaren Datei ist unter DOS bzw. LINUX unterschiedliches zu beachten:
1) DOS
- Ist die Dateiendung .exe, kann diese auch weggelassen werden.
- Liegt das ausführbare Programm im aktuellen Verzeichnis, so wird es auch ohne Pfadangabe
gefunden.
Beispiele:
a
a.exe 1.3
startet das Programm a.exe im aktuellen Verzeichnis.
startet das Programm a.exe und übergibt 1.3 als Kommandozeilen-Parameter.
2) Linux
- Wird ein Dateiname ohne Pfad angegeben, so wird die Datei nicht gefunden, wenn sie nicht im
Suchpfad der Shell (Kommandozeilen-Interpreter) liegt. Das aktuelle Verzeichnis gehört in der
Regel nicht zu diesem Suchpfad. Daher muss ein Pfadname (relativ oder absolut) bei der
Dateiangabe enthalten sein, z. Bsp. der relative Pfadname ./ , der auf das aktuelle Verzeichnis
verweist.
Beispiele:
./a.out
startet das Programm a.out im aktuellen Verzeichnis.
./a.out 5
startet das Programm a.out und übergibt 5 als Kommandozeilen-Parameter.

Documents pareils