User manual
57
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
Voorwaardelijke compilering
#ifdef symbol
…
#else // optie
…
#endif
U kunt controleren welke delen van een brontekst werkelijk gecompileerd worden. Na een
#ifdef symbol aanwijzing wordt de volgende tekst alleen gecompileerd als het symbol ook
gedefinieerd is door #define symbol.
Als er als optie een #else aanwijzing aangegeven is, dan wordt de brontekst na #else bewerkt
wanneer het symbol niet gedefinieerd is.
Invoegen van tekst
#include pfad\dateiname (pad\bestandsnaam)
Met deze aanwijzing kan een tekstbestand in de broncode ingevoegd worden.
Vanwege een beperking van de preprocessor mag het pad in een #include aanwijzing geen
spaties bevatten!
5.3 Bibliotheken
5.3.1 Interne functies
Opdat de compiler de interne functies die in de interpreter aanwezig zijn kan herkennen,
moeten deze functies in de bibliotheek “IntFunc_Lib.cc” gedefinieerd zijn. Als deze bibliotheek
niet ingepakt is, dan kunnen er geen uitvoeren van het programma gedaan worden. Een
typische invoer in “IntFunc_Lib.cc” ziet er b.v. zo uit:
void Msg_WriteHex$opc(0x23) (word val);
Deze definitie zegt, dat de functie (“Msg_WriteHex”) in de interpreter met een sprongvector van
0x23 opgeroepen wordt, en er als parameter een word naar de stack doorgegeven moet
worden.
Veranderingen in de bibliotheek “IntFunc_Lib.cc” kunnen er toe leiden, dat de daar
gedeclareerde functies niet meer correct uitgevoerd kunnen worden!