hdrstop pragma

미리 컴파일 파일 이름 및 컴파일 상태가 저장되는 위치를 더 자세히 제어할 수 있습니다.

구문

#pragma hdrstop [ ( "filename" ) ]

설명

파일 이름은 사용하거나 만들 미리 컴파일된 헤더 파일의 이름입니다(지정 여부에 /Yu/Yc 따라 다름). 파일 이름에 경로 사양이 없는 경우 미리 컴파일된 헤더 파일은 원본 파일과 동일한 디렉터리에 있는 것으로 간주됩니다.

C 또는 C++ 파일에 컴파일 /Yc시 컴파일러가 포함된 hdrstoppragma 경우 컴파일러는 컴파일 상태를 해당 위치pragma까지 저장합니다. 다음 pragma 코드의 컴파일된 상태는 저장되지 않습니다.

파일 이름을 사용하여 컴파일된 상태가 저장되는 미리 컴파일된 헤더 파일의 이름을 지정합니다. 파일 이름과 파일 이름 사이의 hdrstop 공백은 선택 사항입니다. 에 지정된 hdrstoppragma 파일 이름은 문자열이며 C 또는 C++ 문자열의 제약 조건이 적용됩니다. 특히 따옴표로 묶고 이스케이프 문자(백슬래시 \)를 사용하여 디렉터리 이름을 지정해야 합니다. 예시:

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

미리 컴파일된 헤더 파일의 이름은 다음 규칙에 따라 우선 순위대로 결정됩니다.

  1. 컴파일러 옵션에 대한 /Fp 인수입니다.

  2. 대한 파일 이름 인수입니다. #pragma hdrstop

  3. PCH 확장명을 사용하는 원본 파일의 기본 이름입니다.

옵션 및 /Yu 옵션이 없거나 /Ychdrstoppragma 파일 이름을 지정하지 않으면 소스 파일의 기본 이름이 미리 컴파일된 헤더 파일의 기본 이름으로 사용됩니다.

다음과 같이 전처리 명령을 사용하여 매크로 대체를 수행할 수도 있습니다.

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

다음 규칙은 배치할 수 있는 위치를 hdrstoppragma 제어합니다.

  • hdrstop pragma가 데이터나 함수 선언 또는 정의 외부에 나타나야 합니다.

  • hdrstop pragma가 헤더 파일 내부가 아닌 소스 파일에 지정되어야 합니다.

예시

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

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

이 예제에서는 hdrstoppragma 두 파일이 포함되고 인라인 함수가 정의된 후에 나타납니다. 이 위치는 처음에는 에 대한 pragma홀수 배치인 것처럼 보일 수 있습니다. 그러나 수동 미리 컴파일 옵션을 /Yc/Yuhdrstoppragma 사용하면 전체 소스 파일 또는 인라인 코드를 미리 컴파일할 수 있습니다. Microsoft 컴파일러는 데이터 선언만 미리 컴파일하도록 제한하지 않습니다.

참고 항목

Pragma 지시문 및 __pragma_Pragma 키워드(keyword)