/Yu (Użyj wstępnie skompilowanego pliku nagłówka)

Nakazuje kompilatorowi użycie istniejącego wstępnie skompilowanego pliku nagłówka (.pch) w bieżącej kompilacji.

Składnia

/Yu[nazwa pliku]

Argumenty

Pod nazwą
Nazwa pliku nagłówka, który jest zawarty w pliku źródłowym #include przy użyciu dyrektywy preprocesora.

Uwagi

Nazwa pliku dołączania musi być taka sama zarówno dla /Yc opcji, która tworzy prekompilowany nagłówek, jak i dla każdej późniejszej /Yu opcji wskazującej użycie prekompilowanego nagłówka.

W przypadku /Ycparametru nazwa pliku określa punkt, w którym zatrzymuje się wstępne kompilator; kompilator prekompiluje cały kod, choć nazwa pliku i nazwy wynikowego prekompilowanego nagłówka przy użyciu podstawowej nazwy pliku dołączania i rozszerzenia .pch.

Plik .pch musi zostać utworzony przy użyciu polecenia /Yc.

Kompilator traktuje cały kod występujący przed plikiem h jako wstępnie skompilowany. Pominie ona tylko poza #include dyrektywą skojarzona z plikiem .h , używa kodu zawartego .pch w pliku, a następnie kompiluje cały kod po nazwie pliku.

W wierszu polecenia nie jest dozwolone żadne miejsce między /Yu i nazwa pliku.

Po określeniu /Yu opcji bez nazwy pliku program źródłowy musi zawierać #pragma hdrstop pragma, która określa nazwę pliku prekompilowanego nagłówka, .pch pliku. W takim przypadku kompilator użyje prekompilowanego nagłówka (.pch pliku) o nazwie ./Fp (Name .pch file) Kompilator pomija lokalizację tej pragma i przywraca skompilowany stan z określonego prekompilowanego pliku nagłówka. Następnie kompiluje tylko kod, który jest zgodny z pragma. Jeśli #pragma hdrstop nie określi nazwy pliku, kompilator szuka pliku o nazwie pochodzącej z podstawowej nazwy pliku źródłowego .pch z rozszerzeniem. Możesz również użyć /Fp opcji , aby określić inny .pch plik.

Jeśli określisz /Yu opcję bez nazwy pliku i nie określisz hdrstop pragma, zostanie wygenerowany komunikat o błędzie i kompilacja zakończy się niepowodzeniem.

/YcJeśli opcje nazwy pliku i /Yunazwy pliku występują w tym samym wierszu polecenia i oba odwołania do tej samej nazwy pliku, /Ycnazwa pliku ma pierwszeństwo, wstępnie skompilując cały kod do i włącznie z nazwanym plikiem. Ta funkcja upraszcza pisanie plików make.

Ponieważ .pch pliki zawierają informacje o środowisku maszyny i adresie pamięci o programie, należy użyć .pch tylko pliku na maszynie, na której został utworzony.

Aby uzyskać więcej informacji na temat wstępnie skompilowanych nagłówków, zobacz:

Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio

  1. Określ /Yc (utwórz wstępnie skompilowany plik nagłówka) w pliku cpp w projekcie.

  2. 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).

  3. Wybierz stronę właściwości Właściwości>konfiguracji C/C++>Prekompiled Headers.

  4. Zmodyfikuj właściwość Prekompiled Header , właściwość Create/Use PCH Through File lub utwórz/użyj właściwości Prekompiled Header .

Aby programowo ustawić tę opcję kompilatora

Przykład

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
...

jest kompilowany przy użyciu wiersza CL /YuMYAPP.H PROG.CPPpolecenia , kompilator nie przetwarza trzech instrukcji include. Zamiast tego używa wstępnie skompilowanego kodu z MYAPP.pchprogramu , co pozwala zaoszczędzić czas związany ze wstępnym przetwarzaniem wszystkich trzech plików (i wszystkich plików, które mogą zawierać).

Możesz użyć /Fp (Name .pch file) opcji z /Yu opcją , aby określić nazwę pliku, jeśli nazwa .pch różni się od argumentu nazwy pliku do /Yc lub nazwy podstawowej pliku źródłowego, jak w poniższym przykładzie:

CL /YuMYAPP.H /FpMYPCH.pch PROG.CPP

To polecenie określa wstępnie skompilowany plik nagłówka o nazwie MYPCH.pch. Kompilator używa jego zawartości, aby przywrócić wstępnie skompilowany stan wszystkich plików nagłówka do i w tym MYAPP.h. Kompilator kompiluje następnie kod, który występuje po #include "MYAPP.h"dyrektywie *.

Zobacz też

Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC