Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
filename
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
Zadejte
/Yc(vytvořit předkompilovaný soubor hlaviček) v .cpp souboru v projektu.Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.
Vyberte stránku vlastností Vlastností>konfigurace C/C++>Předkompilované hlavičky.
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