pch.h란

문성원·2024년 1월 4일
0
post-thumbnail

1) 목표

  • pch.h란 무엇인지에 대하여 살펴보고 이해하기

2) 이해한 내용 정리

  • 컴파일 할 때마다 자주 사용하는 stdio.h, conio.h 헤더 파일을 매번 다시 읽어서 해석하는 것은 프로그램 개발 단계에서 수반되는 시간이 오래 걸리기에 개발 기간에 영향을 미칠 수 있음

  • pch.h는 헤더 파일을 읽어 분석한 내용을 다시 사용 가능한 형태로 파일에 저장해 두고 컴파일 할 때마다 재사용할 수 있도록 해준다.

  • pch.h에서 미리 만들어진 헤더 파일들을 통해 다음과 같은 파일들을 생성한다.
    => 삭제해도 컴파일 할 때 없으면 다시 생성되기에 보관의 의미x
    => 리소스 파일을 백업하는 경우에는 사용되지 않는 파일 지우는 것이 좋음

  • 미리 컴파일 되어 있는 헤더를 사용한다면 모든 소스 파일의 가장 위쪽에 #include 하는 코드 추가

#include "pch.h'
#include <stdio.h>
// .. 이하의 코드 생략
  • pch.h 파일을 맨 상단에 추가하지 않는다면 다음과 같은 에러 메시지 발생
오전 1:59에 빌드를 시작함...
1>------ 빌드 시작: 프로젝트: Randomly_Circle_FirstStep, 구성: Release Win32 ------
1>Randomly_Circle_FirstStep.cpp
1>C:\C(C++)Project\EasyWin\Randomly_Drawing_Circle\step1\Randomly_Circle_FirstStep\Randomly_Circle_FirstStep.cpp(128,1): error C1010: 미리 컴파일된 헤더를 찾는 동안 예기치 않은 파일의 끝이 나타났습니다. '#include "pch.h"'() 소스에 추가하시겠습니까?
1>"Randomly_Circle_FirstStep.vcxproj" 프로젝트를 빌드했습니다. - 실패
========== 빌드: 0개 성공, 1개 실패, 0개 최신 상태, 0개 건너뜀 ==========
========== 빌드이() 오전 1:59에 완료되었으며, 00.763 초이() 걸림 ==========
  • vs 버전에 따라 이전(vs17, vs15, ..)에는 stdafx.h을 썼으나 이후(vs19, vs22)에는 pch.h로 규격이 통일되어 있음
    => 미리 컴파일 된 파일 목록에서 stdafx.h, pch.h 중에 하나를 선택해서 사용할 수 있음

3) 출처

본 게시글은 김성엽 선생님의 "pch.h 헤더 파일에 대하여" 라는 블로그 내용을 참조하여 작성된 글입니다

profile
EasyWin32를 통해 C언어를 공부하고 있습니다~

0개의 댓글

관련 채용 정보