/Yd (Umieść informacje o debugowaniu w pliku obiektu)
Kompletne informacje we wszystkich plikach obiektu debugowania kroków utworzony na podstawie pliku nagłówka wstępnie skompilowanym (.pch) z /Yc i /Z7 opcje.Przestarzałe.
/Yd
Uwagi
/Ydzostała zaniechana; Visual C++ teraz obsługuje wiele obiektów, zapisywanie do pliku .pdb pojedynczego, stosowanie /Zi w zamian.Aby uzyskać dodatkowe informacje, zobacz Deprecated Compiler Options.
Chyba że trzeba do dystrybucji biblioteki zawierające informacje debugowania, użyj /Zi opcji zamiast /Z7 i /Yd.
Przechowywanie pełne informacje debugowania w każdym pliku .obj jest konieczne tylko do dystrybucji bibliotek zawierających informacje debugowania.To spowalnia kompilacji i wymaga dużo wolnego miejsca.Gdy /Yc i /Z7 są używane bez /Yd, kompilator przechowuje wspólne informacje debugowania w pierwszym pliku .obj utworzone z pliku .pch.Kompilator nie wstawia te informacje do plików .obj utworzeni z pliku .pch; wstawia odsyłacze do informacji.Bez względu na to, ile plików .obj użyć pliku .pch tylko jeden plik .obj zawiera wspólne informacje debugowania.
Mimo że to domyślne zachowanie skutkuje szybciej budować razy i zmniejsza zapotrzebowanie na miejsce na dysku, to niepożądane Jeśli niewielka zmiana wymaga przebudowy pliku .obj zawierających wspólne informacje debugowania.W tym przypadku kompilator ponownie wszystkie pliki .obj zawierające odsyłacze do oryginalnego pliku .obj.Ponadto jeśli wspólnej plik .pch jest używany przez różnych projektów, polegania na odsyłacze do pliku pojedynczego .obj jest trudne.
Aby uzyskać więcej informacji w nagłówkach wstępnie skompilowanym zobacz:
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Otwórz okno dialogowe Strony właściwości projektu.Szczegółowe informacje – zobacz: Porady: otwieranie stron właściwości projektów.
Kliknij folder C/C++.
Kliknij stronę właściwości Wiersz polecenia.
Wpisz opcje kompilatora w polu Dodatkowe opcje.
Aby programowo ustawić tę opcję kompilatora
- Zobacz AdditionalOptions.
Przykłady
Załóżmy, że masz dwa pliki bazowe, F.cpp i G.cpp, każda zawierająca te #include instrukcji:
#include "windows.h"
#include "etc.h"
Następujące polecenie tworzy nagłówek wstępnie skompilowanym pliku ETC.pch i pliku obiektu F.obj:
CL /YcETC.H /Z7 F.CPP
Plik obiektu F.obj zawiera typ i informacje o symbolu dla WINDOWS.h i ETC.h (oraz inne pliki nagłówków, które są umieszczane).Teraz można wstępnie skompilowanym nagłówka ETC.pch skompilować plik źródłowy G.cpp:
CL /YuETC.H /Z7 G.CPP
Plik obiektu G.obj nie zawiera informacji debugowania dla wstępnie skompilowanym nagłówka, ale po prostu odwołuje się do tych informacji w pliku F.obj.Należy zauważyć, że należy połączyć z plikiem F.obj.
Jeśli wstępnie skompilowanym nagłówka nie został skompilowany z /Z7, nadal można go używać w nowszej kompilacji przy użyciu /Z7.Jednakże informacje debugowania są umieszczane w bieżącym pliku obiektu i symboli lokalnych dla funkcji i typów definiowanych w nagłówku wstępnie skompilowanym nie są dostępne dla debugera.