/Yu (Korzystaj z prekompilowanego pliku nagłówka)
Nakazuje kompilatorowi użyć istniejącego pliku nagłówka wstępnie skompilowanym (.pch) w bieżącej kompilacji.
/Yu[filename]
Argumenty
- Nazwa pliku
Nazwa pliku nagłówka, który znajduje się w pliku źródłowego za pomocą #include dyrektywy preprocesora.
Uwagi
Nazwa pliku dołączanego musi być taka sama dla obu /Yc opcja, która tworzy wstępnie skompilowanym nagłówka i wszelkich kolejnych /Yu opcję rezygnacji z użycia wstępnie skompilowanym nagłówka.
Dla /Yc, filename określa punkt, w którym wstępnej kompilacji zatrzymuje; Jednak kompilator precompiles cały kod filename oraz nazwy wynikowy nagłówka wstępnie skompilowane przy użyciu nazwy pliku dołączanego i rozszerzenie .pch.
Plik .pch musi być utworzony przy użyciu /Yc.
Kompilator traktuje cały kod mających miejsce przed plik .h jako wstępnie skompilowana.Pomija się tylko poza #include dyrektywy skojarzonego z danym plikiem .h wykorzystuje kod zawarty w pliku .pch, a spowoduje kompilację całego kodu po filename.
W wierszu polecenia nie może być spacji między /Yu i filename.
Po określeniu /Yu opcji bez nazwy pliku, program źródłowy musi zawierać #pragma hdrstop pragmy, która określa nazwę pliku wstępnie skompilowanym nagłówka pliku .pch.W tym przypadku kompilator będzie użyć wstępnie skompilowanym nagłówka (plik .pch) o nazwie przez /Fp (Nazwa pliku .Pch).Kompilator przeskakuje do lokalizacji tego pragmy, przywraca stanie skompilowanym z wstępnie skompilowany plik nagłówka określony przez pragmy, a następnie kompiluje jedynie kod, który następuje pragmy.Jeśli #pragma hdrstop nie określa nazwy pliku, kompilator szuka pliku o nazwie, pochodzące od nazwy pliku źródłowego z rozszerzeniem .pch.Można również użyć /Fp opcję, aby określić plik różnych .pch.
Jeśli określisz /Yu wybór bez nazwy pliku, a nie uda się określić hdrstop pragmy, generowany jest komunikat o błędzie i kompilacja zakończy się niepowodzeniem.
Jeśli /Ycfilename i /Yufilename opcje występują w tym samym wierszu polecenia i zarówno odwołanie samej nazwie pliku /Ycfilename ma pierwszeństwo przed precompiling do całego kodu i tym nazwanego pliku.Ta funkcja ułatwia pisanie makefile.
Ponieważ pliki .pch zawierają informacje o środowisku komputera, a także informacji dotyczących programu adresu pamięci, należy używać tylko plik pch na komputerze, gdzie została utworzona.
Aby uzyskać więcej informacji w nagłówkach wstępnie skompilowanym zobacz:
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Określ /Yc (Utwórz prekompilowany plik nagłówka) w pliku CPP w projekcie.
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 przycisk Wstępnie skompilowana nagłówki strona właściwości.
Modyfikowanie PCH poprzez tworzenie/Użyj pliku właściwość lub Utwórz/używać wstępnie skompilowana nagłówka właściwości.
Aby programowo ustawić tę opcję kompilatora
- Zobacz PrecompiledHeaderThrough i UsePrecompiledHeader.
Przykłady
Jeśli następujący kod:
#include <afxwin.h> // Include header for class library
#include "resource.h" // Include resource definitions
#include "myapp.h" // Include information specific to this app
...
została skompilowana z wiersza polecenia CL /YuMYAPP.H PROG.CPP, kompilator nie może przetwarzać trzy obejmują instrukcje, ale kod używa wstępnie skompilowana z MYAPP.pch, a tym samym oszczędność czasu zaangażowanych w przetwarzanie wstępne wszystkie trzy pliki (i wszystkie pliki, mogą one obejmować).
Można użyć /Fp (Nazwa pliku .Pch) opcja ze /Yu opcję, aby określić nazwę pliku .pch, jeśli nazwa różni się od albo argument nazwy pliku do /Yc lub nazwy pliku źródłowego, co przedstawiono poniżej:
CL /YuMYAPP.H /FpMYPCH.pch PROG.CPP
Polecenie to określa wstępnie skompilowany plik nagłówka o nazwie MYPCH.pch.Kompilator używa jego zawartość do przywrócenia stanu wstępnie skompilowana wszystkie pliki nagłówków do i MYAPP.h włącznie.Kompilator następnie kompiluje kod, który pojawia się po MYAPP.h include instrukcji.