Concetti Chiave
- Il preprocessore elabora il codice prima della compilazione, eseguendo istruzioni che iniziano con #.
- Le direttive del preprocessore includono #include per incorporare file e #define per ridefinire identificatori.
- Il preprocessore può disabilitare parti di codice con istruzioni come #if e #ifdef.
- Il processo prevede fasi come la sostituzione di sequenze, unificazione di righe, e gestione dei token.
- Il risultato finale è un unico programma eseguibile, combinando file, programmi e dati.
Direttive al processore
Il preprocessore è un programma contenuto in un calcolatore che elabora il contenuto del codice prima che esso venga compilato, integrato al compilatore anche se i loro compiti sono distinti.
Tutte le istruzioni che iniziano con #, indicano che sono istruzioni che riguardano istruzioni che devono essere eseguite dal preprocessore, quindi direttive riservate al preprocessore, e queste permettono:
- includere file all’interno del codice, con l’istruzione #include
- ridefinire il significato di identificatori, con l’istruzione #define
- disabilitare parti di codice in fase di compilazione, con le istruzioni #if, #ifdef
L’attività del preprocessore ha diverse fasi in modo che possano essere eseguite nel modo ottimale per far funzionare il programma su cui sono scritte:
1. nel caso della presenza di sequenze triplici, queste vengono sostituite con il loro equivalente
2. se nelle righe che sono precedute dall’istruzione #define e la riga stessa termina per \ seguite poi da \n, allora si unisce l’istruzione in una sola riga
3. il programma viene suddiviso in token con spazi bianchi, i commenti poi vengono sostituiti da spazi bianchi, e vengono infine eseguite precedute da #define
4. le sequenze di escape vengono sostituite con i loro equivalenti e le stringhe che sono tra loro adiacenti vengono concatenate per formarne una unica
5. il risultato viene tradotto, unendo tutti i file, i programmi e tutti i dati necessari, in un unico programma eseguibile