C Control PRO STARTER SET MEGA 128 198484 Benutzerhandbuch
Produktcode
198484
69
Compiler
© 2005 Conrad Electronic
Compiler
5
5.1
Allgemeine Features
Dieser Bereich gibt Auskunft über Compiler Eigenschaften und Features die unabhängig von der
benutzten Programmiersprache sind.
benutzten Programmiersprache sind.
5.1.1
externes RAM
Auf dem Application Board des Mega128 ist externes
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.
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
beschriebenen Funktionen, auch im Zusammenspiel mit dem C-Control Pro Compiler, ausführlich
getestet. Ein Benutzen der hier undokumentierten Funktionen geschieht auf eigene Gefahr!
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:
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
der Quelldateien in ein Projekt zu
Bedingte Kompilierung
#ifdef symbol
...