C/Compilatore e precompilatore/Direttive: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m sostituzione tag obsoleti |
|||
Riga 10:
Ecco le direttive:
==={{IndexItem|direttive #define}}<
La direttiva <
<source lang="c">
#define nomemacro testomacro
Riga 33:
Abbiamo trattato l'{{IndexItem|operatore ?}}operatore ? [[C/Blocchi_e_funzioni/Blocchi_if_e_switch#L.27operatore_.3F|qui]].
==={{IndexItem|direttive #if, #else, #elif ed #endif}}<
Queste direttive servono per la {{IndexItem|compilazione condizionale}}''compilazione condizionale''. Il loro uso è del tutto analogo a quello dell'[[C/Blocchi_e_funzioni/Blocchi_if_e_switch|istruzione <
Come conseguenza immediata, le espressioni lecite in una direttiva #if sono solo ed esclusivamente quelle valutabili interamente a tempo di compilazione.
Riga 85:
Si noti che il preprocessore sostituisce ogni occorrenza delle macro con il loro testo equivalente.
==={{IndexItem|direttive #include}}<
La direttiva <
<source lang="c">
Riga 95:
Qual è la differenza fra parentesi angolari e virgolette? Dipende dal compilatore, ma solitamente con le parentesi angolari il {{IndexItem|linker}}linker cerca nelle directory della libreria standard, mentre con le virgolette si cerca il file prima all'interno della directory corrente e poi all'interno delle directory della libreria standard.
==={{IndexItem|direttive #line}}<
La direttiva <
Essa non salta ad un altro punto del programma; modifica semplicemente queste macro.
Riga 122:
Il file è opzionale.
==={{IndexItem|direttive #pragma}}<
La direttiva <
==={{IndexItem|direttive #undef}}<
La direttiva <
<source lang="c">
Riga 149:
Il preprocessore accetta anche degli speciali operatori:
===L'operatore {{IndexItem|operatore #}}<
Questo operatore serve per trasformare una sequenza di caratteri in stringa all'interno di una macro.
Riga 167:
</source>
===L'operatore {{IndexItem|operatore ##}}<
Questo operatore si chiama ''operatore di concatenamento''. Esempio:
Riga 186:
Questo programma stamperà il numero 10.
===L'operatore {{IndexItem|operatore defined}}<
Questo operatore restituisce ''vero'' se la macro che lo segue è definita.
<source lang="c">
Riga 197:
#endif
</source>
È utile quando si vogliono usare gli operatori logici o per rimediare alla mancanza di una direttiva <
<source lang="c">
#if defined MACRO_A
Riga 214:
Il linguaggio C definisce anche delle macro:
==={{IndexItem|__DATE__}}<
La macro <
==={{IndexItem|__FILE__}}<
La macro <
==={{IndexItem|__LINE__}}<
La macro <
==={{IndexItem|__TIME__}}<
La macro <
==={{IndexItem|__STDC__}}<
Il contenuto della macro <
|