Direttiva $macro

A volte è utile usare delle macro come in C per una miglior leggibilità del codice o un porting più facile.
Freepascal ci viene in contro con la direttiva $macro

Sintassi

Codice: [Seleziona]
{$macro ON}  // attivazione macro

{$define :=}  // sintassi

// Esempi

{$define somma:=10+12;}
{$define write:=ProceduradiScrittura}

// se richiamiamo la prima
A := somma // si espande in A := 10+12; notare l'assenza dei ; in quanto inseriti nella macro

// se richiamiamo la seconda

Write('pippo'); // si espande in ProceduradiScrittura('pippo');


possiamo anche usare macro in macro come nel seguente esempio

Codice: [Seleziona]
{$macro ON}

{$define somma:=Valore + 10;}

{$define Valore:=5}

Risultato := Somma      // si espande in Risultato := 5 + 10; in quanto 5 è assegnato a Valore


FreePascal ha alcune macro già impostate

Codice: [Seleziona]
FPC_FULLVERSION	// Versione del compilatore (per esteso)
FPC_VERSION // Versione del compilatore (versione master)
FPC_RELEASE // Versione del compilatore (numero release)
FPC_PATCH // Versione del compilatore (numero patch)





SMF 2.0.8 | SMF © 2011, Simple Machines
Privacy Policy
SMFAds for Free Forums
TinyPortal © 2005-2012

Go back to article