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.