- Sostituzione Macro (#define)
- Proprietà del programma (#property)
- Includere Files (# include)
- Funzioni di Importazione (#import)
- Conditional Compilation (#ifdef, #ifndef, #else, #endif)
Dichiarazione di costanti (#define, #undef)
Le direttive del preprocessore sono usate dal compilatore per pre-elaborare il codice sorgente prima di compilarlo. La direttiva inizia sempre con #, quindi il compilatore vieta l'utilizzo del simbolo nei nomi di variabili, funzioni, ecc.
Ogni direttiva è descritta da una voce separata ed è valida fino all'interruzione di riga. Non è possibile utilizzare più direttive in un'unica voce. Se la voce direttiva è troppo grande, può essere suddivisa in più righe usando il simbolo '\'. In questo caso, la riga successiva è considerata una continuazione della voce direttiva.
La direttiva #define può essere utilizzata per assegnare i nomi alle costanti mnemoniche. Ci sono due forme:
#define definizione dell'espressione // parametro-forma libera
|
La direttiva #define sostitutisce l'espressione per tutte le altre voci trovate di identificatore nel testo di partenza. L'identificatore è sostituito solo se è un token separato. L' identificatore non è sostituito se è parte di un commento, parte di una stringa, o parte di un altro identificatore più.
L'identificatore costante è governato dalle stesse regole dei nomi delle variabili. Il valore può essere di qualsiasi tipo:
#define ABC 100
|
expression può essere costituito da vari token, quali parole chiave, costanti, espressioni costanti e non-costanti. expression termina con l'estremità della linea e non può essere trasferito alla linea successiva.
Esempio:
#define DUE 2
|
Forma parametrica #define
With the parametric form, all the subsequent found entries of identifier will be replaced by expression taking into account the actual parameters. Ad esempio:
// esempio con due paremetri, a e b
|
Accertarsi di racchiudere i parametri tra parentesi quando si utilizzano i parametri di espressione, in modo da evitare errori non-ovvi che sono difficili da trovare. Se si riscrive il codice senza usare le parentesi, il risultato sarà diverso:
// esempio con due paremetri, a e b
|
Quando si utilizza la forma parametrica, un massimo di 8 parametri sono ammessi.
// forma parametrica corretta
|
The #undef directive
The #undef directive cancels declaration of the macro substitution, defined before.
Esempio:
#define MACRO
|
Vedi anche