Menu
Coddy logo textTech

C++ Build & Kompilierung

Teil des Abschnitts Objektorientierte Programmierung der C++-Journey von Coddy — Lektion 2 von 104.

C++ wird in drei Phasen erstellt: Präprozessierung, Kompilierung und Linking.

1. Vorverarbeitung#include-Direktiven werden aufgelöst, wobei Header-Inhalte in Quelldateien kopiert werden

#include <iostream>    // System-Header
#include "my_file.h"   // Eigener Header

2. Kompilierung — Jede .cpp-Datei wird unabhängig in eine Objektdatei (.o) kompiliert

// math_utils.cpp wird zu math_utils.o kompiliert
// main.cpp wird zu main.o kompiliert

3. Linken — Objektdateien werden zur finalen ausführbaren Datei kombiniert

// math_utils.o + main.o → program.exe

Die Header-Datei deklariert, was existiert (Prototypen). Die .cpp-Datei liefert die tatsächliche Implementierung. Der Linker verbindet Aufrufe in main.cpp mit Implementierungen in anderen .cpp-Dateien.

challenge icon

Aufgabe

Mittel

Die Header-Datei math_utils.h deklariert zwei Funktionen. Implementiere diese in math_utils.cpp:

  • doubleValue(int x) — gibt x * 2 zurück
  • square(int x) — gibt x * x zurück

Stelle sicher, dass du die Header-Datei in deiner .cpp-Datei einbindest.

Spickzettel

C++ wird in drei Phasen erstellt: Präprozessierung, Kompilierung und Linking.

Präprozessierung#include-Direktiven werden aufgelöst, wobei Header-Inhalte in Quelldateien kopiert werden:

#include <iostream>    // System-Header
#include "my_file.h"   // Ihr eigener Header

Kompilierung — Jede .cpp-Datei wird unabhängig in eine Objektdatei (.o) kompiliert:

// math_utils.cpp wird zu math_utils.o kompiliert
// main.cpp wird zu main.o kompiliert

Linking — Objektdateien werden zur endgültigen ausführbaren Datei kombiniert:

// math_utils.o + main.o → program.exe

Die Header-Datei deklariert, was existiert (Prototypen). Die .cpp-Datei liefert die tatsächliche Implementierung. Der Linker verbindet Aufrufe in main.cpp mit Implementierungen in anderen .cpp-Dateien.

Probier es selbst

#include <iostream>
#include "math_utils.h"

int main() {
    int num;
    std::cin >> num;
    
    std::cout << "Double: " << doubleValue(num) << std::endl;
    std::cout << "Square: " << square(num) << std::endl;
    std::cout << "Build successful" << std::endl;
    return 0;
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung