stdafx.h 파일이 기본적으로 포함되는 이유는 무엇입니까?
표준 애플리케이션 Fram Extend
함수 라이브러리는 없지만, 컴파일된 프로그램이 32비트 운영 체제 환경에서 실행될 수 있도록 일부 환경 매개변수가 정의되어 있습니다.
Windows와 MFC의 포함 파일은 매우 크고 처리 속도가 빠른 프로그램을 사용하더라도 컴파일러가 작업을 완료하는 데 오랜 시간이 걸립니다. 모든 .CPP 파일에는 동일한 포함 파일이 포함되어 있으므로 모든 .CPP 파일에 대해 이러한 파일을 반복적으로 처리하는 것은 어리석은 일입니다.
이러한 낭비를 피하기 위해 AppWizard와 Visual C++ 컴파일러는 아래와 같이 함께 작동합니다.
◎AppWizard는 모든 현재 프로젝트 파일이 포함된 stdafx.h 파일을 만듭니다. 필수 MFCinclude 파일입니다. 그리고 이 파일은 선택한 옵션에 따라 변경될 수 있습니다.
◎AppWizard는 stdafx.cpp를 생성합니다. 이 파일은 일반적으로 동일합니다.
◎그런 다음 AppWizard가 프로젝트 파일을 생성하므로 첫 번째 컴파일된 파일은 stdafx.cpp입니다.
◎VisualC++는 stdafx.cpp 파일을 컴파일할 때 결과를 stdafx.pch라는 파일에 저장합니다. (확장자 pch는 미리 컴파일된 헤더 파일을 나타냅니다.)
◎Visual C++는 각 후속 .cpp 파일을 컴파일할 때 방금 생성한 .pch 파일을 읽고 사용합니다. stdafx.cpp 또는 stdafx.h를 편집하지 않는 한 Visual C++에서는 더 이상 Windowsinclude 파일을 분석하지 않습니다.
이 기술은 매우 정교하다고 생각하지 않나요? (또한 이 기술을 채택한 최초의 회사는 Microsoft가 아니며 Borland가 그렇습니다.) 이 과정에서 다음 규칙을 준수해야 합니다.
◎작성하는 모든 .cpp 파일은 먼저 stdafx.h를 포함해야 합니다. .
◎프로젝트 파일에 있는 대부분의 .cpp 파일에 .h 파일이 필요한 경우 해당 파일을 stdafx.h(후면)에 추가한 다음 stdafx.cpp를 사전 컴파일하세요.
◎.pch 파일은 심볼 정보가 많기 때문에 프로젝트 파일 중 가장 큰 파일입니다.
디스크 공간이 제한되어 있는 경우 프로젝트 파일에서 전혀 사용하지 않는 .pch 파일을 삭제하는 것이 좋습니다. 프로그램 실행 시에는 필요하지 않으며, 프로젝트 파일 재생성 시 자동으로 재생성됩니다.