![[Logo der Universität Bayreuth]](../pictures/ubt-logo-l.gif)
Universität Bayreuth
Mathematisches
Institut
Einleitung
Erste Schritte
Mail und News
Drucken
KDE
LaTeX/TeX
Linksammlung
Linuxtools
Netzwerk
Programmieren
Windows
X Window
Anträge
Kontakt
|
Programmieren
Informationen zu GCC (gcc und g++)
GCC stand früher für
die Abkürzung GNU-C-Compiler, die von
dem GNU-Projekt entwickelt wird.
Mittlerweile steht es für GNU
Compiler Collection, die von
der EGCS-Gruppe unter Aufsicht der
Free Software Foundation
entwickelt wird.
Gibt man unter Linux den Befehl gcc ein, wird der C-Compiler
der GNU Compiler Collection aufgerufen.
Um im folgenden eine Verwirrung zu vermeiden, wird unter GCC
die GNU Compiler Collection verstanden und unter gcc der C-Compiler
der GNU Compiler Collection.
Gibt man unter Linux den Befehl g++ ein, wird der C++-Compiler
der GNU-Compiler-Collection aufgerufen.
Beispielaufrufe für gcc
gcc-Optionen
Beispielaufrufe für g++
g++-Optionen
Links zu GCC (gcc und g++)
Portierungen von GCC auf DOS/Windows (u.a. MinGW)
Dokumentationen zu GCC
Wo gehts zurück???
Hier werden einige Beispiele gezeigt, die die Benutzung des C-Compilers
gcc erläutern sollen.
gcc -ansi bsp_01.c
erzeugt aus dem C-Sourcefile "bsp_01.c" ein Executable
namens "a.out" (Standardname) und schreibt ANSI-C vor
Automatisch werden Präprozessor, Compiler und
Linker aufgerufen.
Das während des Compilerlaufs entstandene Objekt-
file "bsp_01.o" wurde automatisch nach dem Linken wieder
gelöscht.
gcc -ansi -Wall bsp_01.c
wie oben, nur werden alle möglichen Warnungen
des C-Compilers angezeigt
gcc -ansi -Wall -pedantic bsp_01.c
wie oben, nur wird besonders pedantisch nach
Unsauberkeiten im C-Programm geprüft
gcc -ansi -Wall -pedantic math_bsp_01.c -lm
wie oben, nur wird die mathematische Library namens
"libm.so" oder "libm.a" dazugelinkt
Das ist notwendig fuer C-Programme, die mathematische
Routinen wie sqrt(), pow(), sin(), log(), cos(), ...
verwenden
Hier wird nun eine Übersicht über einige wichtige Optionen
gegeben, für noch mehr Hilfe sei auf die gcc-Manpage
verwiesen (Aufruf mit man gcc) bzw. die gcc-Infopage
(Aufruf mit info gcc).
Benutzung: gcc [OPTIONEN] [FILES]
Hauptoptionen:
-ansi schaltet in den ANSI-C-Modus
-std=c99 prüft auf Kompatibilität zum Sprachstandard C99
-c übersetzt C-Files nur in Objektfiles, kein Linken
-g Übersetzung mit Debug-Informationen für späteres
Debuggen
-I/usr/local/include
sucht Headerfiles zusaetzlich in dem Verzeichnis
"/usr/local/include"
-L/usr/local/lib
sucht Objektfiles und Libraries zusaetzlich in dem Verzeichnis
"/usr/local/lib"
-O startet Compileroptimierung
-o b.out erzeugt ein Executable namens "b.out"
-pedantic besonders genaues Prüfen des C-Programmes
-v zeigt Zusatzinformationen an
-Wall berichtet alle möglichen Warnungen
Hier werden einige Beispiele gezeigt, die die Benutzung des C++-Compilers
der GNU Compiler Collection (GCC) erläutern sollen.
Generell akzeptiert g++ (fast) dieselben Optionen wie auch
der C-Compiler gcc.
g++ -ansi bsp_01.cpp
erzeugt aus dem C++-Sourcefile "bsp_01.cpp" ein Executable
namens "a.out" (Standardname) und schreibt ANSI-C++ vor
Automatisch werden Präprozessor, Compiler und
Linker aufgerufen.
Das während des Compilerlaufs entstandene Objekt-
file "bsp_01.o" wurde automatisch nach dem Linken wieder
gelöscht.
g++ -ansi -Wall bsp_01.cpp
wie oben, nur werden alle möglichen Warnungen
des C++-Compilers angezeigt
g++ -ansi -Wall -pedantic bsp_01.cpp
wie oben, nur wird besonders pedantisch nach
Unsauberkeiten im C++-Programm geprüft
g++ -ansi -Wall -pedantic math_bsp_01.cpp
wie oben, das Linken der mathematischen Library namens
"libm.so" oder "libm.a" erfolgt automatisch
Benutzt man also in C++-Programmen mathematische
Routinen wie sqrt(), pow(), sin(), log(), cos(), ...,
so muss die zugehörige Library nicht explizit
dazugelinkt werden
Hier wird nun eine Übersicht über einige wichtige Optionen
gegeben, für noch mehr Hilfe sei auf die g++-Manpage
verwiesen (Aufruf mit man g++) bzw. die g++-Infopage
(Aufruf mit info g++).
Benutzung: g++ [OPTIONEN] [FILES]
Hauptoptionen:
-ansi schaltet in den ANSI-C++-Modus
-std=c++98 prüft auf Kompatibilität zum Sprachstandard C++98
-c übersetzt C++-Files nur in Objektfiles, kein Linken
-g Übersetzung mit Debug-Informationen für späteres
Debuggen
-I/usr/local/include
sucht Headerfiles zusaetzlich in dem Verzeichnis
"/usr/local/include"
-L/usr/local/lib
sucht Objektfiles und Libraries zusaetzlich in dem Verzeichnis
"/usr/local/lib"
-O startet Compileroptimierung
-o b.out erzeugt ein Executable namens "b.out"
-pedantic besonders genaues Prüfen des C++-Programmes
-v zeigt Zusatzinformationen an
-Wall berichtet alle möglichen Warnungen
Hier werden nun eine Übersicht über einige wichtige Links
rund um GCC angegeben.
GCC Project Homepage (GNU-Projekt)
GCC Homepage (GNU-Projekt)
GCC Homepage (Standard C++-Library des GNU-Projekts)
Using
and Porting the GCC (Online-Infos des GNU-Projekts)
Engl. HOWTO zum GCC-Compiler
-
-
MinGW-Homepage (Minimalist GNU for Windows)
Downloads:
-
-
kommerzielle
GNU-Entwicklungsumgebung von Cygnus für Windows
32-Bit-Systeme (RedHat Cygwin Product)
(inkl. GNU C-/C++-Compiler, Debugger, Linker, Bash-Shell,
Unix-Utilities, ...)
Cygwin Homepage
kommerzielle
GNU-Entwicklungsumgebung von Cygnus für Windows
32-Bit-Systeme
sources.redhat.com
Download
Cygwin Package Contributor's Guide
FTP-Mirror von Cygnus der Universität Bayreuth
-
-
DJGPP-Projekt von Delorie Software
32-Bit-C-/C++-Entwicklungssystem für Intel-PCs unter DOS,
Windows 95/NT
(inkl. vielen Entwicklungstools, IDE vgl. zu Borlands IDE
-
-
FTP-Mirror von DJGPP in Würzburg
Mirror von DJGPP bei Simtel.net
-
-
Überblick zur Dokumentation zu GCC (gcc und g++)
-
-
Präprozessor für GCC (gcc und g++)
-
-
Manualseite für g++
-
-
Manualseite für GCC
-
-
Manualseite für Präprozessor
-
-
Überblick zur Dokumentation von libg++
-
-
Überblick zur Dokumentation von libstdc++/libiostream
|