` Fügen Sie den Inhalt der Standard -Bibliotheks -Header -Dateien in Ihren Code ein.
* Makroverwendung: Makros, die mit "#Define" definiert sind, werden durch ihre Definitionen ersetzt.
* bedingte Zusammenstellung: Direktiven wie "#ifdef" steuern welche Teile des Codes basierend auf den Bedingungen zusammengestellt werden.
Die Ausgabe dieser Phase ist nicht direkt von Menschen lesbar; Es handelt sich um eine geänderte Version Ihres Quellcode.
3. Zusammenstellung:
Der Compiler (`gcc`) übersetzt den vorverarbeiteten Code in die Assemblersprache, speziell für die Ziel-CPU-Architektur (z. B. x86-64). Dieser Assemblercode repräsentiert Ihr Programm in einem Formular mit niedrigem Niveau, das der Computer direkter verstehen kann.
4. Baugruppe:
Der Assembler (`as`) wandelt den Montagecode in Objektcode um. Objektdateien (typischerweise mit einer Erweiterung von `.o`, z. B.` myProgram.o`) enthalten Maschinenanweisungen, sind jedoch noch nicht vollständig ausführbar, da sie möglicherweise von anderen Objektdateien oder Bibliotheken abhängen.
5. Verknüpfung:
Der Linker (`ld`) kombiniert den Objektcode Ihres Programms mit den erforderlichen Bibliotheken (wie der Standard -C -Bibliothek,` libc`), um eine einzelne ausführbare Datei zu erstellen. Dies beinhaltet die Lösung von Referenzen zwischen verschiedenen Teilen des Codes und die Einbeziehung der erforderlichen Bibliotheksfunktionen.
Der Kompilierungsbefehl:
Der typische Befehl zum Kompilieren eines C -Programms in CentOS mit GCC ist:
`` `bash
GCC MYPROGRAM.C -O MYPROGRAM
`` `
* `gcc`:ruft den GCC -Compiler auf.
* `myProgram.c`:Gibt die Quellcode -Datei an.
* `-o myProgram`:Gibt den Namen der ausführenden Ausgabedatei an. Wenn der Standard ausführbarer Name ausgelassen wird, lautet "a.out".
Beispiel:
Nehmen wir an, Sie haben `MYPROGRAM.C`:
`` `c
#include
int main () {
printf ("Hallo, Welt! \ n");
Rückkehr 0;
}
`` `
Sie würden es kompilieren und so ausführen:
`` `bash
GCC MYPROGRAM.C -O MYPROGRAM
./MYPROGRAM
`` `
Dadurch wird eine ausführbare Datei mit dem Namen "MyMprogram" erstellt, die Sie dann aus der Befehlszeile ausführen können. Die Ausgabe wird "Hallo, Welt!" Sein.
fortgeschrittenere Zusammenstellung:
* Mehrere Quelldateien: Wenn Ihr Programm über mehrere `.c` -Dateien verteilt ist, können Sie sie alle gleichzeitig kompilieren:
`` `bash
GCC -Datei1.c File2.c -o MyProgram
`` `
* Optimierung: Flaggen wie `-o2` (Optimierung der Stufe 2) können die Leistung Ihrer ausführbaren Datei verbessern.
`` `bash
GCC MYPROGRAM.C -O MYPROGRAM -O2
`` `
* Debugging: Das `-g`-Flag fügt der ausführbaren Datei Debugging-Informationen hinzu und erleichtert die Verwendung eines Debuggers wie" GDB ".
`` `bash
GCC MYPROGRAM.C -O MYPROGRAM -G -G
`` `
Zusammenfassend lässt sich sagen, dass das Zusammenstellen eines C-Programms in CentOS eine Reihe von Schritten umfasst, die von der GCC-Toolchain organisiert sind und Ihren menschlich-lesbaren Code in ein maschinell ausgezeichnetes Programm verwandeln. Das Verständnis dieser Schritte kann Ihnen helfen, Kompilierungsfehler zu diagnostizieren und Ihren Erstellungsprozess zu optimieren.