User manual

69
5. Compiler
5.1 Algemene features
Dit bereik geeft informatie over compiler- eigenschappen en features die niet afhankelijk zijn
van de gebruikte programmeertaal.
5.1.1 Externe RAM
Op het application board Mega 128 is een externe RAM aanwezig. Dit RAM wordt door de
interpreter automatisch herkent en gebruikt voor het uit te voeren programma. In plaats van
ca. 2665 byte zijn dan ca. 63848 byte beschikbaar als programmageheugen. Hiervoor moet
het programma niet opnieuw gecompileerd worden.
Als de SRAM niet gebruikt wordt kan dit met JP7 gedeactiveerd worden en deze poorten
zijn dan vrij.
5.1.2 Preprocessor
De Gnu Generic preprocessor die hier gebruikt wordt, heeft nog meer functies die onder
http://nothingisreal.com/gpp/gpp.html gedocumenteerd zijn. Echter, alleen de hier beschreven
functies, ook in samenhang met de C-Control Pro compiler zijn ook uitvoerig getest. Het
gebruik van niet hier gedocumenteerde functies geschiedt op eigen risico!
Het C-Control ontwikkelingssysteem beschikt over een volledige C- preprocessor. De
preprocessor bewerkt de brontekst voor de compiler gestart wordt. De volgende commando’s
worden ondersteund:
Definities
Men definieert met het commando “#define” tekstconstanten.
#define symbol tekstconstante
Omdat de preprocessor voor de compiler loopt, wordt bij elke keer dat symbol in de brontekst
opduikt, symbol vervangen door tekstconstante.
Een voorbeeld:
#define Pl 3.141
Als een project uit meerdere bronnen bestaat, dan is er een #define constante voor alle
bronbestanden vanaf het bestand in welke de constante gedefinieerd werd. Daarom is het
mogelijk de volgorde van de bronbestanden in een project te wijzigen.
Voorwaardelijke compilering
#ifdef symbol
#else // optie
#endif