미리 컴파일된 헤더( Precompiled Header, PCH )는 컴파일 시간을 단축하기 위해 자주 변경되지 않는 헤더 파일을 미리 컴파일해두고, 이후 빌드 시 다시 컴파일하지 않고 재사용하는 기능을 말한다.
✅ 미리 컴파일된 헤더의 개념
- c++ 프로젝트에서 <windows.h>, <iostream> 같은 무거운 헤더 파일들은 컴파일러가 파싱하는 데 상대적으로 시간이 오래 걸린다.
- 이러한 헤더들을 한 번만 컴파일하고 결과를 캐시처럼 재사용하면 전체 컴파일 속도가 빨라진다.
- 이를 위해 컴파일러는 .pch라는 파일로 헤더의 중간 결과물을 저장해 둔다.
✅ 사용 방법
// pch.h
#pragma once
#include <iostream>
#include <vector>
#include <Windows.h>
pch용 헤더 파일 생성 ( pch.h )
// pch.cpp
#include "pch.h"
pch를 실제로 컴파일할 cpp 파일 생성 ( pch.cpp )

프로젝트 속성 - C/C++ - 미리 컴파일된 헤더
미리 컴파일된 헤더를 사용(/Yu)
미리 컴파일된 헤더 파일을 pch.h로 설정하고 확인
이후 생성된 cpp파일들은 자동으로 pch.h를 포함한다.
✅ 장점
- 빌드 속도 향상
- 자주 바뀌지 않는 공통 헤더는 한 번만 컴파일
⚠️ 주의할 점
- pch.h가 변경되면 다시 컴파일되어야 함 ( 자주 바뀌는 헤더는 pch에 포함하지 않는 것이 좋다. )
- 컴파일 에러가 나면 디버깅 힘듬 ( 헤더의 순서와 포함 관계에 주의 )
'언어 > C' 카테고리의 다른 글
[C] 템플릿 함수를 헤더에 정의해야하는 이유 (0) | 2025.05.29 |
---|---|
[C] 2진수, 16진수 변환 (0) | 2025.04.23 |
[C] 컴퓨터 덧셈 ( 반가산기, 전가산기 ) (0) | 2025.04.23 |
[C] 게이트 회로 (0) | 2025.04.23 |