미리 컴파일된 헤더란?
pch 파일의 내용들을 미리 컴파일 해두고 다음 컴파일 때마다 미리 컴파일된 내용을 사용하는 것이다.
여러 파일에서 자주 쓰는 헤더들을 여기에 포함시켜서 미리 컴파일 해놓은 다음, 다른 파일에서 pch.h를 사용하는 식으로 사용한다. 이렇게 하면 pch에 들어있는 헤더들을 매 번 컴파일 하지 않아도 되기 때문에 컴파일 시간이 매우 줄어든다.
그러나 만약 pch에 들어있는 내용이 바뀌게 되면 이 pch를 포함하는 모든 파일들에게 영향을 주게된다.
추가로 미리 컴파일된 헤더는 주로 pch 혹은 stdafx 라는 이름을 주로 가진다. 이름만 다르지 사실상 똑같은 역할인듯 하다. 사실 이름이 pch나 stdafx가 아니어도 된다.
또한 그냥 일반 파일을 미리 컴파일된 헤더로 만들 수도 있다. 아니 사실은 프로젝트의 모든 파일을 미리 컴파일된 헤더로 만들 수도 있다. 근데 그렇게 하면 사실상 미리 컴파일된 헤더를 안쓰는 것과 같으니 그냥 하나의 파일을 정해서 미리 컴파일된 헤더로 만들자.
pch 사용하는 방법.
1. 미리 컴파일된 헤더로 사용할 파일을 만든다. (pch.cpp, pch.h 혹은 stdafx.cpp, stdafx.h)
2. 프로젝트 속성 -> C/C++ -> 미리 컴파일된 헤더 -> 미리 컴파일된 헤더 -> 사용 으로 설정한다.
4. 프로젝트 속성 -> 구성속성 -> C/C++ -> 미리 컴파일된 헤더 -> 파일에서 PCH 만들기/사용 : 미리 컴파일된 헤더파일 이름(stdafx.h 혹은 pch.h)으로 설정한다.
5. 프로젝트 속성 -> 구성속성 -> C/C++ -> 미리 컴파일된 헤더 -> 미리 컴파일된 헤더 파일 : 생성될 pch 파일
6. pch.cpp 파일 우클릭 -> 속성 -> C/C++ -> 미리 컴파일된 헤더 -> 미리 컴파일된 헤더 -> 만들기 로 설정한다.
7. pch.cpp 파일의 나머지 미리 컴파일된 헤더 옵션도 프로젝트 속성과 동일하게 해준다.
8. 구 버전 Visual Studio(2015 이전)의 경우 pch에 할당되는 메모리 크기를 직접 조절해줘야 한다. 요즘 버전들은 알아서 힙 크기를 키우기 떄문에 쓸 일이 별로 없다. 프로젝트 속성 -> C/c++ 의 Commend Line 에서 -Zm'수치' 추가로 pch 사용시 메모리 제한 조절. 수치는 너무 커도, 너무 작아도 안된다. 너무 작으면 pch를 컴파일 할 수 없고, 너무 크면 프로젝트를 컴파일 할 메모리가 부족해진다. 따라서 프로젝트의 규모에 따라 적절히 값을 조정해보자. 최대 2000(1500MB)까지 지정해줄 수 있다. 수치에 따른 메모리 할당량 및 자세한 내용은 아래 링크를 참조해보장.
'Visual Studio Tip' 카테고리의 다른 글
경로 설정 (0) | 2022.01.23 |
---|