Sdílet prostřednictvím


hdrstop pragma

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:

  1. Argument možnosti kompilátoru /Fp

  2. Argument názvu souboru#pragma hdrstop

  3. Základní název zdrojového souboru s příponou PCH

Pokud žádný z /Yc možností hdrstoppragma a /Yu 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.

Viz také

Direktivy Pragma a __pragma_Pragma klíčová slova