/P (Pre-elabora in un file)
Aggiornamento: novembre 2007
Pre-elabora i file di origine C e C++ e scrive l'output pre-elaborato in un file.
/P
Note
Il file avrà lo stesso nome di base del file di origine ed estensione i. Durante questa operazione tutte le direttive del preprocessore e le espansioni delle macro vengono eseguite e i commenti vengono rimossi. Per mantenere i commenti nell'output pre-elaborato, utilizzare l'opzione /C (Conserva i commenti durante la pre-elaborazione) con /P.
Con /P, le direttive #line vengono aggiunte all'output, all'inizio e alla fine di ogni file incluso e intorno alle righe rimosse dalle direttive del preprocessore per la compilazione condizionale. Tali direttive rinumerano le righe del file pre-elaborato. Di conseguenza, gli errori generati durante le fasi successive dell'elaborazione fanno riferimento ai numeri di riga del file di origine anziché alle righe del file pre-elaborato. Per disattivare la generazione di direttive #line, utilizzare /EP (Pre-elabora in stdout senza direttive #line) oltre a /P.
L'opzione /P disattiva la compilazione. Non crea un file obj, anche se si utilizza /Fo (Nome file oggetto). È necessario inviare di nuovo il file pre-elaborato per la compilazione. Inoltre, /P cancella i file di output dalle opzioni /FA, /Fa (File di listato), /FA, /Fa (File di listato) e /Fm (Specifica file map).
Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Procedura: aprire le pagine delle proprietà dei progetti.
Fare clic sulla cartella C/C++.
Fare clic sulla pagina delle proprietà Preprocessore.
Modificare la proprietà Genera file pre-elaborati.
Per impostare l'opzione del compilatore a livello di codice
- Vedere la proprietà GeneratePreprocessedFile.
Esempio
Attraverso la riga di comando che segue viene effettuata la pre-elaborazione di ADD.C, i commenti vengono conservati, le direttive #line vengono aggiunte e il risultato visualizzato in un file, ADD.I:
CL /P /C ADD.C