/Yd (Umieść informacje o debugowaniu w pliku obiektu)
Paces kompletne informacje debugowania we wszystkich plikach obiektów utworzonych na podstawie prekompilowanego pliku nagłówka (pch) w przypadku użycia z opcjami /Yc i /Z7 . Przestarzałe.
Składnia
/Yd
Uwagi
/Yd jest przestarzały; Visual C++ obsługuje teraz wiele obiektów zapisu w jednym pliku .pdb, zamiast tego użyj / Zi . Aby uzyskać listę przestarzałych opcji kompilatora, zobacz Przestarzałe i usunięte opcje kompilatora w opcjach kompilatora wymienionych według kategorii.
Jeśli nie musisz rozpowszechniać biblioteki zawierającej informacje debugowania, użyj opcji /Zi , a nie /Z7 i /Yd.
Przechowywanie pełnych informacji debugowania w każdym pliku .obj jest konieczne tylko do dystrybucji bibliotek zawierających informacje debugowania. Spowalnia kompilację i wymaga znacznego miejsca na dysku. Gdy /Yc i /Z7 są używane bez /Yd, kompilator przechowuje typowe informacje debugowania w pierwszym pliku .obj utworzonym na podstawie pliku pch. Kompilator nie wstawia tych informacji do plików .obj utworzonych na podstawie pliku pch; wstawia odwołania krzyżowe do informacji. Niezależnie od tego, ile plików .obj używa pliku pch, tylko jeden plik .obj zawiera typowe informacje debugowania.
Mimo że to domyślne zachowanie powoduje szybsze czasy kompilacji i zmniejsza zapotrzebowanie na miejsce na dysku, niepożądane jest, jeśli niewielka zmiana wymaga ponownego skompilowania pliku .obj zawierającego typowe informacje debugowania. W takim przypadku kompilator musi ponownie skompilować wszystkie pliki .obj zawierające odwołania krzyżowe do oryginalnego pliku .obj. Ponadto, jeśli typowy plik pch jest używany przez różne projekty, zależność od odwołań krzyżowych do pojedynczego pliku .obj jest trudna.
Aby uzyskać więcej informacji na temat wstępnie skompilowanych nagłówków, zobacz:
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).
Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.
Wprowadź opcję kompilatora w polu Dodatkowe opcje .
Aby programowo ustawić tę opcję kompilatora
- Zobacz: AdditionalOptions.
Przykłady
Załóżmy, że masz dwa pliki podstawowe, F.cpp i G.cpp, z których każda zawiera następujące instrukcje #include:
#include "windows.h"
#include "etc.h"
Następujące polecenie tworzy wstępnie skompilowany plik nagłówka ETC.pch i plik obiektu F.obj:
CL /YcETC.H /Z7 F.CPP
Plik obiektu F.obj zawiera informacje o typie i symbolu dla systemów WINDOWS.h i ETC.h (oraz innych dołączanych plików nagłówkowych). Teraz możesz użyć prekompilowanego nagłówka ETC.pch, aby skompilować plik źródłowy G.cpp:
CL /YuETC.H /Z7 G.CPP
Plik obiektu G.obj nie zawiera informacji debugowania dla prekompilowanego nagłówka, ale po prostu odwołuje się do tych informacji w pliku F.obj. Pamiętaj, że musisz połączyć się z plikiem F.obj.
Jeśli prekompilowany nagłówek nie został skompilowany z /Z7, nadal można go używać w późniejszych kompilacjach przy użyciu / Z7. Jednak informacje debugowania są umieszczane w bieżącym pliku obiektu, a symbole lokalne dla funkcji i typów zdefiniowanych w prekompilowanych nagłówkach nie są dostępne dla debugera.
Zobacz też
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC