미리 컴파일된 헤더(Precompiled Header)

한창희·2023년 7월 20일

Visual Studio

목록 보기
1/1
post-thumbnail

📌 미리 컴파일된 헤더(PreCompiled Head)란?

프로젝트의 규모가 점점 커지다 보면 컴파일하는 시간이 점점 늘어나게 됩니다.
이런 경우 자주 변경되지 않고 크기가 큰 헤더들은 미리 컴파일하여 별도의 파일로 저장해놓고,
해당 헤더를 다시 컴파일해야 할 때 기존의 미리 컴파일된 헤더 파일을 사용하여 컴파일 시간을 줄이는 방법입니다.

예를들어 window.h<vector>와 같은 표준 라이브러리 헤더의 경우 규모가 크거나 변경될 일 이 없는 헤더를 미리 컴파일된 헤더에 선언해 놓는다면 해당 헤더파일들은 한번만 컴파일 되면서 빌드시간을 단축시킬 수 있습니다.

✅ 사용법

1️⃣. 프로젝트 속성 - C/C++ - 미리컴파일된헤더 에 가서, 미리 컴파일된 헤더 사용(/Yu) 를 선택해 줍시다.

2️⃣. 폴더를 하나 생성하고 정해두었던 미리컴파일된 헤더파일의 이름으로 클래스를 만듭니다.

3️⃣. 만들어진 cpp파일의 속성을 들어가서 미리 컴파일된 헤더 설정을 만들기로 정합니다.

이렇게 설정이 완료되었습니다. 이제 stdafx에 미리 컴파일될 헤더들을 추가해주면 됩니다!

❗주의사항

미리 컴파일된 헤더를 사용하는 모든 cpp 파일에는 미리 컴파일된 헤더를 추가해줘야합니다.
만약 미리 컴파일된 헤더를 사용하는 cpp 파일에서 헤더가 추가되어있지 않다면 위와같은 오류가 발생하게 됩니다.

#include "stdafx.h"
#include <iostream>

int main()
{
    std::cout << "Precompiled Header\n";
}

이렇게 해당 cpp 파일 맨 위에 추가해주면 미리 컴파일된 헤더를 사용할 수 있습니다.

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

글이 많은 도움이 되었습니다, 감사합니다.

답글 달기