User manual

69Compiler
© 2005 Conrad Electronic
Compiler5
5.1 Allgemeine Features
Dieser Bereich gibt Auskunft über Compiler Eigenschaften und Features die unabhängig von der
benutzten Programmiersprache sind.
5.1.1 externes RAM
Auf dem Application Board des
Mega128
ist externes RAM vorhanden. Dieses RAM wird vom
Interpreter automatisch erkannt und für das auszuführende Programm genutzt. Statt ca. 2665
Bytes stehen dann ca. 63848 Bytes als Programmspeicher zur Verfügung. Hierfür muß das
Programm nicht neu kompiliert werden.
Wird das SRAM nicht benötigt, dann kann es mit JP7 deaktiviert werden und diese Ports sind
dann frei.
5.1.2 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
...