Share via


/Yd (Inserisce le informazioni di debug nel file oggetto)

I ritmi completano le informazioni di debug in tutti i file oggetto creati da un file di intestazione precompilato (con estensione pch) quando vengono usate con le opzioni /Yc e /Z7 . Deprecato.

Sintassi

/Yd

Osservazioni:

/Yd è deprecato; Visual C++ supporta ora più oggetti che scrivono in un singolo file con estensione pdb, usare invece /Zi . Per un elenco delle opzioni del compilatore deprecate, vedere Opzioni del compilatore deprecate e rimosse in Opzioni del compilatore elencate per categoria.

A meno che non sia necessario distribuire una libreria contenente informazioni di debug, usare l'opzione /Zi anziché /Z7 e /Yd.

L'archiviazione delle informazioni di debug complete in ogni file obj è necessaria solo per distribuire librerie contenenti informazioni di debug. Rallenta la compilazione e richiede una notevole quantità di spazio su disco. Quando /Yc e /Z7 vengono usati senza /Yd, il compilatore archivia le informazioni di debug comuni nel primo file obj creato dal file con estensione pch. Il compilatore non inserisce queste informazioni nei file obj creati successivamente dal file con estensione pch; inserisce riferimenti incrociati alle informazioni. Indipendentemente dal numero di file obj che usano il file con estensione pch, solo un file obj contiene le informazioni di debug comuni.

Anche se questo comportamento predefinito comporta tempi di compilazione più rapidi e riduce le richieste di spazio su disco, è indesiderato se una piccola modifica richiede la ricompilazione del file obj contenente le informazioni di debug comuni. In questo caso, il compilatore deve ricompilare tutti i file obj contenenti riferimenti incrociati al file con estensione obj originale. Inoltre, se un file con estensione pch comune viene usato da progetti diversi, la dipendenza da riferimenti incrociati a un singolo file obj è difficile.

Per altre informazioni sulle intestazioni precompilate, vedere:

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.

  3. Immettere l'opzione del compilatore nella casella Opzioni aggiuntive.

Per impostare l'opzione del compilatore a livello di codice

Esempi

Si supponga di avere due file di base, F.cpp e G.cpp, ognuno contenente queste istruzioni #include :

#include "windows.h"
#include "etc.h"

Il comando seguente crea il file di intestazione precompilato ETC.pch e il file di oggetto F.obj:

CL /YcETC.H /Z7 F.CPP

Il file di oggetto F.obj include informazioni sul tipo e sui simboli per WINDOWS.h e ETC.h (e qualsiasi altro file di intestazione che includono). È ora possibile usare l'intestazione precompilata ETC.pch per compilare il file di origine G.cpp:

CL /YuETC.H /Z7 G.CPP

Il file di oggetto G.obj non include le informazioni di debug per l'intestazione precompilata, ma fa semplicemente riferimento a tali informazioni nel file F.obj. Si noti che è necessario collegarsi al file F.obj.

Se l'intestazione precompilata non è stata compilata con /Z7, è comunque possibile usarla nelle compilazioni successive usando /Z7. Tuttavia, le informazioni di debug vengono inserite nel file oggetto corrente e i simboli locali per le funzioni e i tipi definiti nell'intestazione precompilata non sono disponibili per il debugger.

Vedi anche

Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC