Übersetzen und Binden (C++): Unterschied zwischen den Versionen

Aus C++_PHP_und_mehr
Wechseln zu: Navigation, Suche
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:

  1. 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.
  2. Ü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.
  3. 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

  1. 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.