/Yd (colocar as informações de depuração no arquivo de objeto)
Prova completa de informações em todos os arquivos de objeto de depuração criado a partir de um arquivo de cabeçalho pré-compilado (.pch) quando usado com o /Yc e /Z7 opções.Preterido.
/Yd
Comentários
/Ydé obsoleto; Visual C++agora oferece suporte ao uso de vários objetos, gravar em um arquivo. PDB único, /Zi em vez disso.Para obter mais informações, consulte Deprecated Compiler Options.
A menos que você precisa distribuir informações de depuração que contém uma biblioteca, use o /Zi opção em vez de /Z7 e /Yd.
Armazenar informações de depuração completas em todos os arquivos. obj é necessário apenas para distribuir a bibliotecas que contêm informações de depuração.Ele reduz a velocidade de compilação e requer um espaço considerável em disco.Quando /Yc e /Z7 são usados sem /Yd, o compilador armazena informações de depuração comuns no primeiro arquivo. obj criado a partir do arquivo .pch.O compilador não inserir essas informações em arquivos. obj posteriormente criados a partir do arquivo .pch; ele insere referências cruzadas para as informações.Não importa quantos arquivos. obj usam o arquivo de .pch, apenas um arquivo. obj contém as informações de depuração comuns.
Embora o resultado é comportamento padrão mais rápido criar vezes e reduzir as demandas de espaço em disco, ele é indesejável, se uma pequena alteração requer a recriação do arquivo. obj, que contém as informações de depuração comuns.Nesse caso, o compilador deve reconstruir todos os arquivos. obj, contendo referências cruzadas para o arquivo. obj original.Além disso, se um arquivo comum de .pch é usado por diferentes projetos, dependência de referências cruzadas para um arquivo. obj único é difícil.
Para obter mais informações sobre cabeçalhos pré-compilados, consulte:
Para definir esta opção de compilador no ambiente de desenvolvimento Visual Studio
Abra o projeto Páginas de propriedades caixa de diálogo.Para obter detalhes, consulte:Como: abrir páginas de propriedades do projeto.
Clique no C/C++ pasta.
Clique no a linha de comando página de propriedades.
Digite a opção de compilador no Opções adicionais de caixa.
Para definir essa opção de compilador programaticamente
- Consulte AdditionalOptions.
Exemplos
Suponha que você tem dois arquivos de base, F.cpp e G.cpp, cada um contendo esses #include instruções:
#include "windows.h"
#include "etc.h"
O comando a seguir cria o cabeçalho pré-compilado de arquivos 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 informações de símbolo para Windows. h e ETC.h (e quaisquer outros arquivos de cabeçalho que incluem).Agora você pode usar o cabeçalho pré-compilado ETC.pch para compilar o arquivo de origem G.cpp:
CL /YuETC.H /Z7 G.CPP
O arquivo de objeto G.obj inclui as informações de depuração para o cabeçalho pré-compilado, mas simplesmente faz referência a essas informações no arquivo F.obj.Observe que você deve vincular com o arquivo F.obj.
Se o seu cabeçalho pré-compilado não foi compilado com /Z7, você ainda pode usá-lo em compilações posteriores usando /Z7.No entanto, as informações de depuração são colocadas no arquivo do objeto atual e os símbolos locais para funções e tipos definidos no cabeçalho pré-compilado não estão disponíveis para o depurador.