Programmieren in C

Modularisierung

Du möchtest wissen, was Module sind und wie man sie darstellt? Im folgenden Beitrag erklären wir dir die Modularisierung in C.

 

Module C – Aufteilung des Quellcodes in Übersetzungseinheiten

Ganz ähnlich wie du dir, um einen Aufsatz zu schreiben, nicht einfach ein riesiges Blatt nimmst und dieses vollschreibst, können wir auch Quellcode auf verschiedene „Blätter“ aufteilen. Das macht vor allem bei größeren, komplexeren Programmen Sinn, da es die Navigation vereinfacht und es dir sogar ermöglichen kann, Teile deines Codes ohne viel extra Aufwand wieder verwenden zu können.

Module C
Modularisierung

Dazu müssen wir unseren Code in verschiedene, sogenannte „Übersetzungseinheiten“ aufteilen. Diese müssen alle selbstständig sein, aber nur eine pro Programm darf eine main-Funktion enthalten. Das klingt etwas kompliziert, ist es aber gar nicht. Im Prinzip kannst du dir die einzelnen Module vorstellen wie Puzzlestücke, die zusammengesetzt ein Bild ergeben. Jedes Puzzleteil kann für sich selbst existieren. Aber um einen Sinn zu ergeben, braucht es andere Teile.

C- und Header-Dateien

Alle diese Teile bestehen aus einer c-Datei und einer Dateiform, die wir noch nicht kennen – der Header-Datei. Dateien dieses Typs enthalten Makros, auch symbolische Konstanten genannt, und die Funktionsprototypen der, in der c – Datei definierten Funktionen. Das besondere Modul, das die main-Funktion enthält, nennt man Programmdatei.

Module C
Header- und C-Dateien

Womit wir uns jetzt noch beschäftigen, ist wie wir unsere fertigen Stücke zu einem Ganzen zusammensetzen. Das hängt zwar davon ab, welche Software du für das Programmieren verwendest, aber mit dem gcc Compiler, müssen alle Module mit zugehöriger header-Datei einzeln übersetzt werden. Dazu öffnen wir ganz einfach die Kommandozeile, beziehungsweise unser Terminal und geben folgenden Befehl ein:

gcc -c module.c

 

Das können wir mit beliebig vielen Modulen so machen und erhalten dabei o-Dateien. Sind wir damit fertig, kannst du auch schon alles zusammenfügen. Dazu benutzt du diesen Befehl:

gcc module.o module_2.c … main.c

Wir haben unser Programm. Wenn du eine Entwicklungsumgebung nutzt, wird sich diese wahrscheinlich um all das kümmern. Aber du solltest trotzdem wissen, wie der ganze Vorgang abläuft. Deswegen schauen wir ihn uns jetzt Stück für Stück an.

Module C: Ablauf des Prozesses

Als erstes kümmert sich der Präprozessor um unseren Quellcode einer Datei und wandelt ihn in erweiterten Quellcode um. Danach nimmt sich der Compiler selbst der Sache an und macht aus unserem erweiterten Quellcode Assemblercode. Dessen Namensvetter, der Assembler mischt sich daraufhin ein und konvertiert den Assembler-Code in Objektcode. Als letzte Partei kommt der Binder, auch Linker genannt, zum Zug. Er verbindet den Objektcode der einzelnen Übersetzungseinheiten, der Programmdatei und der Bibliotheksfunktionen zu lesbarem Maschinencode.

Module C
Ablauf des Prozesses

Wenn wir nun alle header-Dateien – da wo wir sie brauchen – eingebunden haben, sollte unser Programm ohne Probleme funktionieren.

Hallo, leider nutzt du einen AdBlocker.

Auf Studyflix bieten wir dir kostenlos hochwertige Bildung an. Dies können wir nur durch die Unterstützung unserer Werbepartner tun.

Schalte bitte deinen Adblocker für Studyflix aus oder füge uns zu deinen Ausnahmen hinzu. Das tut dir nicht weh und hilft uns weiter.

Danke!
Dein Studyflix-Team

Wenn du nicht weißt, wie du deinen Adblocker deaktivierst oder Studyflix zu den Ausnahmen hinzufügst, findest du hier eine kurze Anleitung. Bitte lade anschließend die Seite neu.