Simboli predefiniti preprocessore linguaggio C
Il preprocessore del linguaggio C riserva alcune parole predefinite per memorizzare le informazioni.
I simboli predefiniti sono i seguenti:
Simbolo | Descrizione |
---|---|
__DATE__ | restituisce la data di compilazione del programma in formato stringa |
__FILE__ | restituisce il nome del file |
__LINE__ | restituisce il numero di riga del codice sorgente in cui si trova |
__TIME__ | restituisce l'orario (hh:mm:ss) di compilazione del programma in formato stringa |
Un esempio pratico
Nel seguente codice sorgente sono presenti i simboli predefiniti.
- #include <stdio.h>
- int main() {
- printf("data %s \n", __DATE__);
- printf("ora %s \n", __TIME__);
- printf("linea %d \n", __LINE__);
- printf("file del programma %s \n", __FILE__);
- return 0;
- }
Supponiamo che i simboli predefiniti abbiano i seguenti valori:
Simbolo | Valore |
---|---|
__DATE__ | 6 |
__FILE__ | esempio.c |
__LINE__ | Nov 12 2018 |
__TIME__ | 15:35:26 |
Durante la preprocessione il preprocessore sostituisce i simboli predefiniti con i relativi valori.
- ...
- int main()
- {
- printf("data %s \n", "Nov 12 2018");
- printf("ora %s \n", "15:35:26");
- printf("linea %d \n", 6);
- printf("file del programma %s \n", "esempio.c");
- return 0;
- }
Nella fase successiva della compilazione il codice sorgente è compilato in quest'ultima forma, con i valori al posto dei simboli predefiniti.
L'output del programma compilato è il seguente:
data Nov 12 2018
ora 15:35:26
linea 6
file del programma esempio.c