/Yu (Použití předkompilovaného souboru hlaviček)

Dává kompilátoru pokyn, aby v aktuální kompilaci použil existující předkompilovaný soubor hlavičky (.pch).

Syntaxe

/Yu[název_souboru]

Argumenty

Název_souboru
Název hlavičkového souboru, který je součástí zdrojového souboru pomocí #include direktivy preprocesoru.

Poznámky

Název souboru zahrnutí musí být stejný jak pro /Yc možnost, která vytvoří předkompilovanou hlavičku, tak pro jakoukoli pozdější /Yu možnost, která označuje použití předkompilované hlavičky.

Pro /Yc, název souboru určuje bod, ve kterém se předkompilace zastaví; kompilátor předkompiluje veškerý kód, i když název souboru a názvy výsledné předkompilované hlavičky pomocí základního názvu souboru include a přípony .pch.

Soubor .pch musí být vytvořen pomocí /Yc.

Kompilátor zachází se všemi kódy, ke kterým dochází před souborem .h, jako předkompilovaný. Přeskočí přímo nad rámec direktivy #include přidružené k .h souboru, použije kód obsažený v .pch souboru a pak zkompiluje veškerý kód za názvem souboru.

Na příkazovém řádku není mezi názvy souborů a název souboru povolen /Yu žádný prostor.

Když zadáte /Yu možnost bez názvu souboru, musí zdrojový program obsahovat direktivu #pragma hdrstop pragma, která určuje název souboru předkompilované hlavičky .pch , souboru. V tomto případě kompilátor použije předkompilovanou hlavičku (.pch soubor) s názvem /Fp (Name .pch file). Kompilátor přeskočí do umístění této direktivy pragma a obnoví zkompilovaný stav ze zadaného předkompilovaného hlavičkového souboru. Potom zkompiluje pouze kód, který následuje za direktivou pragma. Pokud #pragma hdrstop nezadáte název souboru, kompilátor vyhledá soubor s názvem odvozeným od základního názvu zdrojového souboru s příponou .pch . Můžete také použít /Fp možnost zadat jiný .pch soubor.

Pokud zadáte /Yu možnost bez názvu souboru a nepodaří se zadat direktivu hdrstop pragma, vygeneruje se chybová zpráva a kompilace je neúspěšná.

/YcPokud se možnosti názvu souboru a /Yunázvu souboru vyskytují na stejném příkazovém řádku a oba odkazují na stejný název souboru, /Ycmá přednost název souboru, předkompiluje veškerý kód až do pojmenovaného souboru a zahrne ho. Tato funkce zjednodušuje zápis souborů pravidel.

Protože .pch soubory obsahují informace o prostředí počítače a informace o adrese paměti o programu, měli byste použít .pch pouze soubor na počítači, ve kterém byl vytvořen.

Další informace o předkompilovaných hlavičkách najdete tady:

Nastavení tohoto parametru kompilátoru ve vývojovém prostředí Visual Studio

  1. Zadejte /Yc (vytvořit předkompilovaný soubor hlaviček) v souboru .cpp v projektu.

  2. Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.

  3. Vyberte stránku vlastností Vlastností>konfigurace C/C++>Předkompilované hlavičky.

  4. Upravte vlastnost Předkompilované hlavičky, vlastnost Create/Use PCH Through File nebo Create/Use Precompiled Header vlastnost.

Programové nastavení tohoto parametru kompilátoru

Příklad

Pokud následující kód:

#include <afxwin.h>   // Include header for class library
#include "resource.h" // Include resource definitions
#include "myapp.h"    // Include information specific to this app
...

je zkompilován pomocí příkazového řádku CL /YuMYAPP.H PROG.CPP, kompilátor nezpracuje tři příkazy include. Místo toho používá předkompilovaný kód, MYAPP.pchkterý šetří čas při předběžném zpracování všech tří souborů (a všech souborů, které mohou zahrnovat).

Možnost s /Yu možností můžete použít /Fp (Name .pch file) k zadání názvu .pch souboru, pokud se název liší od argumentu /Yc názvu souboru nebo základního názvu zdrojového souboru, jak je znázorněno v následujícím příkladu:

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

Tento příkaz určuje předkompilovaný soubor hlaviček s názvem MYPCH.pch. Kompilátor používá svůj obsah k obnovení předkompilovaného stavu všech souborů hlaviček až do a včetně MYAPP.h. Kompilátor pak zkompiluje kód, který nastane po direktivě #include "MYAPP.h"* .

Viz také

Možnosti kompilátoru MSVC
Syntaxe příkazového řádku kompilátoru MSVC