Share via


코드를 미리 컴파일하기 위한 두 가지 선택 사항

업데이트: 2007년 11월

Visual C++를 사용하는 경우에는 모든 C 또는 C++ 코드를 미리 컴파일할 수 있으며 헤더 파일만 미리 컴파일하도록 제한되지 않습니다.

코드를 미리 컴파일하려면 계획이 필요하지만 단순한 헤더 파일 이외의 소스 코드를 미리 컴파일하는 경우 컴파일 속도가 훨씬 더 빨라집니다.

여러 개의 소스 파일이 헤더 파일의 공용 집합을 사용하지만 이 헤더 파일들을 동일한 순서로 포함하지는 않는 경우나 미리 컴파일하는 작업에 소스 코드를 포함시키려는 경우에 코드를 미리 컴파일합니다.

미리 컴파일된 헤더 옵션은 /Yc(미리 컴파일된 헤더 파일 만들기)/Yu(미리 컴파일된 헤더 파일 사용)입니다. /Yc는 미리 컴파일된 헤더를 만드는 데 사용합니다. /Yc 옵션을 선택적 pragma인 hdrstop과 함께 사용하면 헤더 파일과 소스 코드를 모두 미리 컴파일할 수 있습니다. 기존 컴파일 작업에서 만들어진 기존의 미리 컴파일된 헤더를 사용하려면 /Yu 옵션을 선택합니다. /Fp/Yc/Yu 옵션과 함께 사용하여 미리 컴파일된 헤더에 대한 다른 이름을 지정할 수도 있습니다.

/Yu/Yc에 대한 컴파일러 옵션 참조 항목에서는 개발 환경에서 이 기능을 사용하는 방법에 대해 설명합니다.

PCH 파일 빌드

하나의 PCH를 사용하여 다른 PCH를 아주 간단한 방법으로 빌드할 수 있습니다.

cl -c -Yc"stuff.h" -Fplevel1.pch level1.cpp
cl -c -Yu"stuff.h" -Fplevel1.pch -Yc level2.cpp

level2.cpp 파일의 형식은 다음과 같습니다.

#include "stuff.h"
#include "morestuff.h"
#pragma hdrstop("level2.pch")

다음 명령은 후속 컴파일에 사용될 수 있는 level2.pch를 빌드합니다.

cl -c -Yu"morestuff.h" -Fplevel2.pch mysource.cpp

두 번째 PCH를 빌드하는 파일에 #pragma hdrstop 지시문을 포함시키기만 하면 되며, 해당 PCH를 사용하는 모든 .cpp 파일에 이 지시문을 포함시킬 필요는 없습니다. PCH를 사용하는 파일은 명령줄에서 morestuff.h 파일을 명명할 수 있으므로 PCH를 사용하는 모든 파일을 편집하지 않아도 됩니다. 자동으로든 또는 수동으로든 코드를 미리 컴파일하면 결과로 미리 컴파일된 코드가 미리 컴파일된 헤더에 저장됩니다.

추가 정보

미리 컴파일된 헤더의 사용에 대한 자세한 예제를 보려면 MFC 라이브러리와 함께 제공되는 샘플 프로그램을 빌드하는 데 사용되는 메이크파일을 참조하십시오.

참고 항목

참조

미리 컴파일된 헤더 파일 만들기