Übersetzen und Binden (C++): Unterschied zwischen den Versionen
Aus C++_PHP_und_mehr
K (1 Version) |
K (1 Version: Neuinstallation) |
(kein Unterschied)
|
Aktuelle Version vom 27. März 2017, 18:29 Uhr
← Einführung in die Entwicklungsumgebung | ↑ Übersicht | → Grundsätzliche Syntax |
Erstellen eines Programmes
Generell gilt: Ein C++-Programm wird immer mit den folgenden Schritten erstellt:
- Ausführen des Präprozessors: Der Präprozessor verändert den Source, indem er Kommentare entfernt und die Präprozessordirektiven ausführt, zB. indem er einen Text durch einen anderen ersetzt oder Text aus einer anderen Datei einfügt. Die Präprozessordirektiven werden im Kapitel Präprozessor behandelt.
- Übersetzen (engl. compile) in Maschinencode: Jedes Modul wird getrennt übersetzt. Vorher wird die Syntax überprüft und bei Fehlern abgebrochen. Adressen werden relativ zum Modul eingesetzt. Ausgegeben wird in eine Objektdatei mit der Erweiterung .o oder .obj.
- Binden (engl. link): Der Linker setzt den Maschinencode der einzelnen Module zusammen. Die relativen Adressen werden durch absolute ersetzt. Verwendete Objekte, die zwar deklariert, aber nirgends definiert wurden, Führen zu Abbruch mit Fehlermeldung. Zu den gerade erstellten Objektdateien werden Objektdateien aus statischen Bibliotheken[1] (engl. library) hinzugefügt.
← Einführung in die Entwicklungsumgebung | ↑ Übersicht | → Grundsätzliche Syntax |
Fußnoten
- ↑ Sammlung von Objektdateien, entweder von der IDE oder mitgeliefert, aus Fremdquellen bezogen oder selbst erstellt. Zu einer Bibliothek gehört üblicherweise eine Headerdatei, in der die angebotenen Teile deklariert werden.