|
'PreCompiled'에 해당되는 글 1건
[폭주기관차, 2007/02/16 12:26, [Programming]/Visual C++ API/MFC]
Error : unexpected end of file while looking for precompiled header directive 해결 방법 우선 에러 해결에 앞서 이 오류가 나는 이유를 알기 위해선 Precompiled Header라는 것을 알아야합니다. Precompiled Header는 c에서 C++로 넘어올때 생긴 기법입니다. C++에서는 헤더파일이 어쩔수 없이 많이 생길수 밖에 없는 구조입니다. 헤더 파일에는 클래스 정의를 두고 cpp 파일에는 클래스 구현을 하고... 이게 한두개면 괜찮은데 아주 큰 프로젝트(파일이 100개 200개 되는) 에서는 이런 헤더파일때문에 컴파일 시간이 너무나도 많이 걸립니다. 한번 컴파일 하는데 10분 20분은 족히 걸리겠죠...? 암튼... 이런 폐단을 막기 위해 C++표준에는 Precompiled header라는것을 두었습니다. cpp 파일마다 동일한 헤더파일을 여러개 선언해놓고 컴파일 하는데 이런 cpp 파일을 컴파일 할때마다 매번 헤더파일들을 컴파일하면 시간이 무지 많이 걸립니다. 이때 Precompiled Header를 사용하면 한꺼번에 이렇게 중복 포함하는 헤더 파일들을 컴파일해서 .pch 라는 파일로 만들어두고 다음에는 바뀐 부분만 컴파일이 되도록해서 컴파일 시간을 대폭 줄여주는 기능을 합니다. 이런 기능이 VC에서 기본으로 들어있어서 초보자에게 많은 혼란을 줍니다. 이 기능을 쓰지 않기 위해서는 Alt + F7을 눌러서 Not using precompiled Header를 선택하시면 되고 저 역시 이 기능을 항상 끄고 살았는데 우연찮게 이런뜻이 있는줄 알고 부터는 반드시 이 기능을 사용합니다. (원문 저자분 말씀... 폭주기관차는 이 기능을 지금 알았고 기능을 사용하고 안하고 할 여력이 없었음..ㅜㅜ) 여러 cpp 파일에서 중복 include하는(적어도 2개 이상)헤더파일들은 stdafx.h 파일에 넣어두면 컴파일 시간이 아주 많이 향상됩니다. 참고하세요. 그리고 또 다른 해결 방법으로 #include "stdafx.h"를 CPP파일 맨 위에 추가해도 된다. 출처 : 열라삽질님의 블로그 원문글 보러가기 Trackback Address :: http://kongmks.cafe24.com/trackback/121
|
||






