/Yd (Inserisce le informazioni di debug nel file oggetto)
Se utilizzata con le opzioni /Yc e /Z7, inserisce informazioni di debug complete in tutti i file oggetto creati da un file di intestazione precompilata (pch). Obsoleta.
/Yd
Note
L'opzione /Yd è deprecata; in Visual C++ è ora incluso il supporto per la scrittura di più oggetti in un unico file con estensione .pdb. In caso contrario, utilizzare /Zi. Per ulteriori informazioni, vedere Deprecated Compiler Options in Visual C++ 2005.
A meno che non sia necessario distribuire una libreria contenente le informazioni di debug, utilizzare l'opzione /Zi anziché /Z7 e /Yd.
L'archiviazione di informazioni di debug complete in ogni file obj è necessaria solo per distribuire librerie contenenti informazioni di debug. Essa rallenta la compilazione e richiede una notevole quantità di spazio su disco. Quando /Yc e /Z7 vengono utilizzate senza /Yd, il compilatore archivia le informazioni di debug comuni nel primo file obj creato dal file pch. Il compilatore non inserisce queste informazioni nei file obj successivamente creati dal file pch. Inserisce invece riferimenti incrociati alle informazioni. Indipendentemente dal numero di file obj che utilizzano il file pch, solo un file obj contiene le informazioni di debug più frequenti.
Sebbene questo comportamento predefinito determini tempi di compilazione più veloci e riduca le esigenze di spazio su disco, non è auspicabile se una piccola modifica richiede la ricompilazione del file obj contenente le informazioni di debug più frequenti. In tal caso il compilatore deve ricompilare tutti i file obj contenenti riferimenti incrociati al file obj originale. Inoltre, se un file pch comune viene utilizzato da diversi progetti, l'affidamento ai riferimenti incrociati su un singolo file obj risulta difficile.
Per ulteriori informazioni sulle intestazioni precompilate, vedere:
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à Riga di comando.
Digitare l'opzione del compilatore nella casella Opzioni aggiuntive.
Per impostare l'opzione del compilatore a livello di codice
- Vedere la proprietà AdditionalOptions.
Esempi
Si supponga di avere due file di base, F.cpp e G.cpp, ciascuno contenente queste istruzioni #include:
#include "windows.h"
#include "etc.h"
Il comando che segue crea il file di intestazione precompilato ETC.pch e il file oggetto F.obj:
CL /YcETC.H /Z7 F.CPP
Il file oggetto F.obj include informazioni sul tipo e sul simbolo per WINDOWS.h e ETC.h (e qualsiasi altro file di intestazione incluso). È ora possibile utilizzare l'intestazione precompilata ETC.pch per compilare il file di origine G.cpp:
CL /YuETC.H /Z7 G.CPP
Il file oggetto G.obj non include le informazioni di debug per l'intestazione precompilata ma fa semplicemente riferimento a quelle informazioni nel file F.obj. È necessario eseguire il collegamento con il file F.obj.
Se l'intestazione precompilata non è stata compilata con /Z7, è comunque possibile utilizzarla in compilazioni successive mediante /Z7. Tuttavia le informazioni di debug sono inserite nel file oggetto corrente e i simboli locali relativi a tipi e funzioni definiti nell'intestazione precompilata non sono disponibili per il debugger.