Franz Pucher / TINF

You are viewing an older revision! See the latest version

Programmerstellung

Die Umsetzung der Quelltexte (engl.: Sourcecode), d.h. der Textdateien, die den Programmtext enthalten, in einen Programmcode, d.h. binäre Dateien, die von einem Computer ausführbar sind, erfolgt in C/C++ in drei Schritten: Präprozessor; Compiler; Linker. Der Präprozessor bearbeitet zuerst die Quelltexte und sucht nach Präprozessor-Direktiven (z.B. #include fügt die angegebene Dateie an der entsprechenden Position ein). Dabei hat er noch weitere Aufgaben: Konstanten und Makros definieren und ersetzen (#define) und Teile des Quelltextes während des Compilierens selektieren (#ifdef / #ifndef).

Der Compiler wandelt den so geänderten Code in sogenannten Objektcode (.obj-Datei) um, der aber noch offene Aufrufe enthält (d.h. es erfolgt noch keine Zuweisung eines Funktionsaufrufs zu einer Funktion). (Im Gegensatz zum Compiler sind Interpreter Übersetzungsprogramme die Programme erst bei der Ausführung in Maschinencode umsetzen. Z.B. Basic oder Javascript. Ein Javascriptprogramm wird erst vom Browser des Anwenders nach dem Laden aus dem Internet ausgeführt.)

Der Linker verbindet die noch offenen Funktionsaufrufe mit den zugehörigen Funktionen und ist für die Übersetzung des binären Objectcodes in eine ausführbare Form (.exe-Datei unter Windows und Dos) zuständig.

C braucht noch andere Code-Bibliotheken (run-time library), z.B. für Tastatureingabe u.ä. Die run-time library wird meist mit dem Betriebssystem installiert.

Schließlich wird aber meist eine Entwicklungsumgebung. (auch als IDE bezeichnet. IDE = Integrated Development Environment) installiert. Eine IDE kombiniert Editor, Compiler, Linker, Debugger und einige andere Programme unter einer Oberfläche.

Ein Debugger ist meist ein Hilfesprogramm der IDE für das Suchen von Fehlern im Programm. Das Programm wird im Debugger gestarten und kann in Einzelschritten ausgeführt werden oder auch an bestimmten Stellen Haltepunkte eingefügt werden. Während der Ausführung können die Variablen überwacht bzw. auch geändert werden oder gesamte Hauptspeicherinhalt angesehen werden (memory dump).


All wikipages