User manual

172Compiler
© 2013 Conrad Electronic
Compiler4
4.1 Allgemeine Features
Dieser Bereich gibt Auskunft über Compiler Eigenschaften und Features die unabhängig von der be-
nutzten Programmiersprache sind.
4.1.1 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 beschrie-
benen 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 sym-
bol definiert wurde.
Ist eine optionale #else Anweisung angegeben, so wird der Quelltext nach #else bearbeitet, wenn