Video: C Programmieren Tutorial #013 [Deutsch][HD] - Ziffernsumme 2024
Der Programmierer kann ein einzelnes Programm in separate Quelldateien zerlegen, die allgemein als -Module bekannt sind. Diese Module werden vom C ++ - Compiler separat in Maschinencode kompiliert und dann während des Buildprozesses kombiniert, um ein einzelnes Programm zu generieren.
Diese Module sind auch von Compiler-Geeks als C ++ - Übersetzungseinheiten bekannt. Der Prozess des Kombinierens von getrennt kompilierten Modulen in ein einzelnes Programm wird Verknüpfung genannt.
Das Aufteilen von Programmen in kleinere, überschaubare Teile hat mehrere Vorteile. Erstens reduziert ein Programmbruch in kleinere Module die Kompilierzeit. Sehr große Programme können eine ganze Weile dauern.
Darüber hinaus ist es extrem verschwenderisch, den gesamten Quellcode im Projekt neu zu kompilieren, nur weil sich eine oder zwei Zeilen ändern. Es ist viel besser, nur das Modul neu zu kompilieren, das die Änderung enthält, und es dann erneut mit allen unveränderten Modulen zu verknüpfen, um eine neue ausführbare Datei mit der Änderung zu erstellen. (Das Kompilieren dauert normalerweise länger als das Verknüpfen.)
Zweitens ist es einfacher zu verstehen - daher einfacher zu schreiben, zu testen und zu debuggen - ein Programm, das aus einer Anzahl durchdachter, aber quasi-unabhängiger Module besteht, von denen jedes ein logische Gruppierung von Funktionen. Ein großes Modul mit nur einer Quelle, das alle Funktionen enthält, die ein Programm schnell nutzen kann, wird schwer zu halten sein.
Drittens ist das vielgepriesene Gespenst der Wiederverwendung. Ein Modul voller wiederverwendbarer Funktionen, die in zukünftige Programme eingebunden werden können, ist einfacher zu dokumentieren und zu pflegen. Eine Änderung im Modul zur Behebung eines Fehlers wird schnell in andere ausführbare Dateien integriert, die dieses Modul verwenden.
Schließlich geht es um die Zusammenarbeit im Team. Zwei Programmierer können nicht am selben Modul arbeiten (zumindest nicht sehr gut). Ein einfacherer Ansatz besteht darin, einem Programmierer einen Satz von in einem Modul enthaltenen Funktionen zuzuweisen, während einem zweiten Programmierer ein anderer Satz von Funktionen in einem anderen Modul zugewiesen wird. Die Module können miteinander verbunden werden, wenn sie zum Testen bereit sind.