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.
Poskytuje větší kontrolu nad názvy souborů předkompilacemi a umístěním, ve kterém je uložen stav kompilace.
Syntaxe
#pragma hdrstop[ ( "název_souboru" ) ]
Poznámky
Název souboru je název předkompilovaného souboru hlaviček, který se má použít nebo vytvořit (v závislosti na tom, jestli /Yu je zadaný)./Yc Pokud název souboru neobsahuje specifikaci cesty, předpokládá se, že předkompilovaný hlavičkový soubor je ve stejném adresáři jako zdrojový soubor.
Pokud soubor C nebo C++ obsahuje hdrstoppragma při kompilaci /Yc, kompilátor uloží stav kompilace až do umístění pragma. Zkompilovaný stav libovolného kódu, který následuje za tímto kódem pragma , se neuloží.
Název souboru použijte k pojmenování předkompilovaného hlavičkového souboru, ve kterém je uložen kompilovaný stav. Mezera mezi hdrstop a názvem souboru je nepovinná. Název souboru zadaný v řetězci hdrstoppragma a podléhá omezením libovolného řetězce jazyka C nebo C++. Konkrétně ho musíte uzavřít do uvozovek a pomocí řídicího znaku (zpětné lomítko) \zadat názvy adresářů. Příklad:
#pragma hdrstop( "c:\\projects\\include\\myinc.pch" )
Název předkompilovaného souboru hlaviček se určuje podle následujících pravidel, v pořadí podle priority:
Argument možnosti kompilátoru
/FpArgument názvu souboru
#pragma hdrstopZákladní název zdrojového souboru s příponou PCH
Pokud žádný z /Yc možností /Yuhdrstop a pragma neurčí název souboru, použije se základní název zdrojového souboru jako základní název předkompilovaného souboru hlaviček.
Lze také použít příkazy předzpracování pro provedení nahrazení makra následovně:
#define INCLUDE_PATH "c:\\progra~1\\devstsu~1\\vc\\include\\"
#define PCH_FNAME "PROG.PCH"
.
.
.
#pragma hdrstop( INCLUDE_PATH PCH_FNAME )
Následující pravidla určují, kde hdrstoppragma lze umístit:
Musí být uvedena mimo jakékoliv deklarace dat, funkce nebo definice.
Musí být zadána ve zdrojovém souboru, nikoli v souboru hlaviček.
Příklad
#include <windows.h> // Include several files
#include "myhdr.h"
__inline Disp( char *szToDisplay ) // Define an inline function
{
// ... // Some code to display string
}
#pragma hdrstop
V tomto příkladu hdrstoppragma se zobrazí po zahrnutí dvou souborů a byla definována vložená funkce. Toto umístění může zpočátku vypadat jako liché umístění pro pragma. Zvažte však, že použití možností /Yc ručního předkompilace a /Yu, s hdrstoppragma tím, že vám umožní předkompilovat celé zdrojové soubory, nebo dokonce vložený kód. Kompilátor Microsoftu vás neomezuje na předkompilování pouze deklarací dat.