다음을 통해 공유


빌드 프로세스의 PCH 파일

소프트웨어 프로젝트의 코드 베이스는 대개 여러 개의 C 또는 C++ 소스 파일, 개체 파일, 라이브러리 및 헤더 파일에 들어 있습니다.일반적으로 메이크파일은 이러한 요소들을 결합하여 실행 파일로 만듭니다.다음 그림은 미리 컴파일된 헤더 파일을 사용하는 메이크파일의 구조를 보여 줍니다.이 다이어그램에 있는 NMAKE 매크로 이름과 파일 이름은 PCH용 샘플 메이크파일PCH에 대한 예제 코드의 예제 코드에 있는 것과 일치합니다.

이 그림에서는 세 개의 다이어그램 장치를 사용하여 빌드 프로세스의 흐름을 보여 줍니다.명명된 사각형은 각 파일 또는 매크로를 나타내며, 세 개의 매크로는 하나 이상의 파일을 나타냅니다.회색으로 표시된 영역은 각 컴파일 또는 링크 동작을 나타냅니다.화살표는 컴파일 또는 링크 프로세스 중에 결합되는 파일 및 매크로를 보여 줍니다.

미리 컴파일된 헤더 파일을 사용하는 메이크파일의 구조

미리 컴파일된 헤더 파일을 사용하는 메이크파일

다이어그램의 맨 위쪽부터 보면, STABLEHDRS와 BOUNDRY는 모두 다시 컴파일하지 않아도 될 것 같은 파일을 나열하는 NMAKE 매크로입니다.이 파일들은 다음과 같은 명령 문자열을 사용하여 컴파일됩니다.

CL /c /W3 /Yc$(BOUNDRY) applib.cpp myapp.cpp

단, 미리 컴파일된 헤더 파일(STABLE.pch)이 없거나, 두 매크로에 나열된 파일을 변경하는 경우에만 수행됩니다.두 경우 모두, 미리 컴파일된 헤더 파일에는 STABLEHDRS 매크로에 나열된 파일의 코드만 포함하게 됩니다.미리 컴파일되기를 원하는 마지막 파일은 BOUNDRY 매크로에 나열합니다.

이 매크로에 나열하는 파일들은 헤더 파일일 수도 있고 C 또는 C++ 소스 파일일 수도 있습니다.하나의 .pch 파일을 C 및 C++ 모듈 모두와 함께 사용할 수는 없습니다. hdrstop 매크로를 사용하여 BOUNDRY 파일 내의 일부 지점에서 미리 컴파일하는 작업을 중지시킬 수 있습니다.자세한 내용은 hdrstop을 참조하십시오.

계속해서 다이어그램의 밑 부분을 보면, APPLIB.obj는 최종 응용 프로그램에 사용되는 지원 코드를 나타냅니다.이 코드는 APPLIB.cpp와 UNSTABLEHDRS 매크로에 나열되는 파일 및 미리 컴파일된 헤더에서 미리 컴파일된 코드를 기초로 만들어집니다.

MYAPP.obj는 최종 응용 프로그램을 나타냅니다.이 코드는 MYAPP.cpp와 UNSTABLEHDRS 매크로에 나열되는 파일 및 미리 컴파일된 헤더에서 미리 컴파일된 코드를 기초로 만들어집니다.

마지막으로, OBJS 매크로에 나열된 파일들(APPLIB.obj 및 MYAPP.obj)을 링크하면 실행 파일(MYAPP.EXE)이 만들어집니다.

이 그림에 대한 자세한 내용은 다음 항목을 참조하십시오.

참고 항목

참조

프로젝트에 미리 컴파일된 헤더 사용