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!