/Yu
(Usare il file di intestazione precompilato)
Indica al compilatore di usare un file di intestazione precompilato esistente (.pch
) nella compilazione corrente.
Sintassi
/Yu
[filename]
Argomenti
filename
Nome di un file di intestazione, incluso nel file di origine usando una #include
direttiva del preprocessore.
Osservazioni:
Il nome del file di inclusione deve essere lo stesso per entrambe le /Yc
opzioni che crea l'intestazione precompilata e per qualsiasi opzione successiva /Yu
che indica l'uso dell'intestazione precompilata.
Per /Yc
, filename specifica il punto in cui si arresta la precompilazione. Il compilatore precompila tutto il codice tramite nome file e nomi dell'intestazione precompilata risultante usando il nome di base del file di inclusione e un'estensione di .pch
.
Il .pch
file deve essere stato creato utilizzando /Yc
.
Il compilatore considera precompilato tutto il codice che si verifica prima del file H. Passa solo oltre la #include
direttiva associata al .h
file, usa il codice contenuto nel .pch
file e quindi compila tutto il codice dopo il nome file.
Nella riga di comando non è consentito spazio tra /Yu
e nome file.
Quando si specifica l'opzione /Yu
senza un nome di file, il programma di origine deve contenere un #pragma hdrstop
pragma che specifica il nome file dell'intestazione precompilata, .pch
file. In questo caso, il compilatore userà l'intestazione precompilata (.pch
file) denominata da /Fp (Name .pch file)
. Il compilatore passa al percorso di tale pragma e ripristina lo stato compilato dal file di intestazione precompilato specificato. Compila quindi solo il codice che segue il pragma. Se #pragma hdrstop
non specifica un nome di file, il compilatore cerca un file con un nome derivato dal nome di base del file di origine con un'estensione .pch
. È anche possibile usare l'opzione /Fp
per specificare un file diverso .pch
.
Se si specifica l'opzione /Yu
senza un nome file e non è possibile specificare un hdrstop
pragma, viene generato un messaggio di errore e la compilazione non riesce.
Se le /Yc
opzioni nome file e/Yu
nome file si verificano nella stessa riga di comando e fanno entrambi riferimento allo stesso nome file, /Yc
il nome file ha la precedenza, precompilazione di tutto il codice fino a e incluso il file denominato. Questa funzionalità semplifica la scrittura di makefile.
Poiché .pch
i file contengono informazioni sull'ambiente del computer e sull'indirizzo di memoria relativi al programma, è consigliabile usare solo un .pch
file nel computer in cui è stato creato.
Per altre informazioni sulle intestazioni precompilate, vedere:
Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio
Specificare
/Yc
(Crea file di intestazione precompilato) in un file .cpp nel progetto.Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.
Selezionare la pagina delle proprietà Proprietà>di configurazione C/C++>Intestazioni precompilate.
Modificare la proprietà Intestazione precompilata, la proprietà Create/Use PCH through File o la proprietà Create/Use Precompiled Header .
Per impostare l'opzione del compilatore a livello di codice
- Controllare PrecompiledHeaderThrough e UsePrecompiledHeader.
Esempio
Se il codice seguente:
#include <afxwin.h> // Include header for class library
#include "resource.h" // Include resource definitions
#include "myapp.h" // Include information specific to this app
...
viene compilato usando la riga CL /YuMYAPP.H PROG.CPP
di comando , il compilatore non elabora le tre istruzioni di inclusione. Usa invece codice precompilato da MYAPP.pch
, che consente di risparmiare tempo durante la pre-elaborazione di tutti e tre i file (e i file che potrebbero includere).
È possibile usare l'opzione /Fp (Name .pch file)
con l'opzione /Yu
per specificare il nome del .pch
file se il nome è diverso dall'argomento filename o /Yc
dal nome di base del file di origine, come nell'esempio seguente:
CL /YuMYAPP.H /FpMYPCH.pch PROG.CPP
Questo comando specifica un file di intestazione precompilato denominato MYPCH.pch
. Il compilatore usa il relativo contenuto per ripristinare lo stato precompilato di tutti i file di intestazione fino a e includendo MYAPP.h
. Il compilatore compila quindi il codice che si verifica dopo la #include "MYAPP.h"
direttiva * .
Vedi anche
Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC