/Yd (colocar informações de depuração no arquivo de projeto)
Os ritmos exibe informações de depuração em todos os arquivos criados de objeto de um arquivo de cabeçalho .pch pré-compilado () quando usados com as opções de /Yc e de /Z7 . Preterido.
/Yd
Comentários
/Yd é substituído; Visual C++ agora oferece suporte aos objetos de vários que gravam em um único arquivo .pdb, use /Zi em vez disso. Para obter mais informações, consulte Deprecated Compiler Options.
A menos que você precise distribuir uma biblioteca que contém informações de depuração, use a opção de /Zi em vez de /Z7 e /Yd.
Armazenar informações de depuração completo em cada arquivo de .obj é necessário para distribuir apenas as bibliotecas que contêm informações de depuração. Retarda-se a criação e requer espaço em disco considerável. Quando /Yc e /Z7 são usados sem /Yd, as informações de depuração comuns das lojas do compilador no primeiro arquivo de .obj criou do arquivo de .pch. O compilador não insere essas informações nos arquivos de .obj criados posteriormente do arquivo de .pch; insere referências cruzadas às informações. Não importando quantos arquivos de .obj usam o arquivo de .pch, somente um arquivo de .obj contém informações de depuração comuns.
Embora esse comportamento padrão resulta em uma construção mais rápida hora e reduzir as demandas de espaço, ele é indesejável se uma pequena alteração exige recriar o arquivo de .obj que contém informações de depuração comuns. Nesse caso, o compilador deve recriar todos os arquivos de .obj que contêm referências cruzadas para o arquivo original .obj. Além disso, se um arquivo de .pch comum é usado por projetos diferentes, a confiança em referências cruzadas em um único arquivo de .obj é difícil.
Para obter mais informações sobre cabeçalhos pré-compilados, consulte:
Para definir esta opção do compilador no ambiente de desenvolvimento do Visual Studio
Abra a caixa de diálogo Páginas de Propriedade do projeto. Para obter detalhes, consulte Como abrir páginas de propriedade do projeto.
Clique na pasta C/C++.
Clique na página de propriedades de Linha de Comando.
Digite a opção de compilador na caixa Opções Adicionais.
Para definir essa opção do compilador via programação
- Consulte AdditionalOptions.
Exemplos
Suponha que você tenha dois arquivos de base, F.cpp e G.cpp, que contém cada dessas instruções de #include :
#include "windows.h"
#include "etc.h"
O comando a seguir cria o arquivo de cabeçalho pré-compilado ETC.pch e o arquivo de objeto F.obj:
CL /YcETC.H /Z7 F.CPP
O arquivo de objeto F.obj inclui o tipo e as informações do símbolo para WINDOWS.h e ETC.h (e alguns outros arquivos de cabeçalho que inclua). Agora você pode usar o cabeçalho pré-compilado ETC.pch para criar o arquivo de origem G.cpp:
CL /YuETC.H /Z7 G.CPP
O arquivo de objeto G.obj não inclui informações de depuração para o cabeçalho pré-compilado mas somente as referências que informações no arquivo de F.obj. Observe que você deve vincular ao arquivo de F.obj.
Se o cabeçalho pré-compilado não foi criado com /Z7, você ainda pode usá-lo nas compilações posteriores usando /Z7. No entanto, as informações de depuração é colocada no arquivo do objeto atual, e símbolos locais para as funções e tipos definidos no cabeçalho pré-compilado não estão disponíveis para o depurador.