|
Navigation: Compiler > Allgemeine Features > Preprozessor |
![]() ![]()
|
Der Gnu Generic Preprocessor, der hier zum Einsatz, kommt hat noch weitere Funktionen, die unter http://nothingisreal.com/gpp/gpp.html dokumentiert sind. Allerdings sind nur die hier beschriebenen Funktionen, auch im Zusammenspiel mit dem C-Control Pro Compiler, ausführlich getestet. Ein Benutzen der hier undokumentierten Funktionen geschieht auf eigene Gefahr!
Im C-Control Entwicklungssystem ist ein vollständiger C-Preprozessor enthalten. Der Preprozessor bearbeitet den Quelltext bevor der Compiler gestartet wird. Folgende Befehle werden unterstützt:
Definitionen
Man definiert mit dem Befehl "#define" Textkonstanten.
#define symbol textkonstante
Da der Preprozessor vor dem Compiler läuft, wird bei jedem Auftauchen von symbol im Quelltext symbol durch textkonstante ersetzt.
Ein Beispiel
#define PI 3.141
Besteht ein Projekt aus mehreren Quellen, so ist ein #define Konstante für alle Quelldateien existent ab der Datei, in der die Konstante definiert wurde. Daher ist es möglich, die Reihenfolge der Quelldateien in ein Projekt zu ändern.
Bedingte Kompilierung
#ifdef symbol
...
#else // optional
...
#endif
Man kann kontrollieren, welche Teile eines Quelltextes wirklich kompiliert werden. Nach einer #ifdef symbol Anweisung wird der folgende Text nur kompiliert, wenn das symbol auch durch #define symbol definiert wurde.
Ist eine optionale #else Anweisung angegeben, so wird der Quelltext nach #else bearbeitet, wenn das symbol nicht definiert ist.
Einfügen von Text
#include pfad\dateiname
Mit dieser Anweisung läßt sich eine Textdatei in den Quellcode einfügen.
Aufgrund einer Limitierung des Preprozessors darf der Pfad in einer #include Anweisung keine Leerzeichen enthalten!