Dela via


hdrstop pragma

Ger dig mer kontroll över filnamn för förkompilering och över den plats där kompileringstillståndet sparas.

Syntax

#pragma hdrstop [ ( "filnamn" ) ]

Anmärkningar

Det filnamnet är namnet på den förkompilerade huvudfilen som ska användas eller skapas (beroende på om /Yu eller /Yc har angetts). Om filnamn inte innehåller någon sökvägsspecifikation antas den förkompilerade huvudfilen finnas i samma katalog som källfilen.

Om en C- eller C++-fil innehåller en hdrstoppragma när den kompileras med /Ycsparar kompilatorn kompilatorn kompileringstillståndet upp till platsen för pragma. Det kompilerade tillståndet för kod som följer pragma sparas inte.

Använd filnamn för att namnge den förkompilerade huvudfilen där det kompilerade tillståndet sparas. Ett blanksteg mellan hdrstop och filnamn är valfritt. Filnamnet som anges i hdrstoppragma är en sträng och omfattas av begränsningarna för valfri C- eller C++-sträng. I synnerhet måste du omge det inom citattecken och använda escape-tecknet (omvänt snedstreck, \) för att ange katalognamn. Till exempel:

#pragma hdrstop( "c:\\projects\\include\\myinc.pch" )

Namnet på den förkompilerade huvudfilen bestäms enligt följande regler i prioritetsordning:

  1. Argumentet till /Fp kompilatoralternativet

  2. Argumentet filnamn till #pragma hdrstop

  3. Källfilens basnamn med ett PCH-tillägg

Om inget av alternativen /Yc och /Yu eller hdrstoppragma anger ett filnamn används källfilens basnamn som basnamn för den förkompilerade huvudfilen.

Du kan också använda förbearbetningskommandon för att utföra makrobyte på följande sätt:

#define INCLUDE_PATH "c:\\progra~1\\devstsu~1\\vc\\include\\"
#define PCH_FNAME "PROG.PCH"
.
.
.
#pragma hdrstop( INCLUDE_PATH PCH_FNAME )

Följande regler styr var hdrstoppragma kan placeras:

  • Den måste visas utanför alla data eller funktionsdeklarationer eller definitioner.

  • Den måste anges i källfilen, inte i en huvudfil.

Exempel

#include <windows.h>                 // Include several files
#include "myhdr.h"

__inline Disp( char *szToDisplay )   // Define an inline function
{
    // ...                           // Some code to display string
}
#pragma hdrstop

I det här exemplet visas hdrstoppragma när två filer har inkluderats och en infogad funktion har definierats. Den här platsen kan till en början verka vara en udda placering för pragma. Överväg dock att använda manuella förkompileringsalternativ, /Yc och /Yu, med hdrstoppragma gör det möjligt för dig att förkompilera hela källfiler eller till och med infogad kod. Microsoft-kompilatorn begränsar dig inte till att endast förkompilera datadeklarationer.

Se även

Pragma-direktiv och nyckelorden __pragma och _Pragma