나는 헤더가 "사용법 #include"StdAfx.h 함께 "함께 일을 미리 컴파일 이해 및 예, 나는 내가 그들을 해제 할 수 있습니다 알고 있습니다.하지만 내 질문이 아니다.Visual Studio C++에서 필요없는 파일에서도 "StdAfx.h"를 포함해야하는 이유는 무엇입니까?
당신이 미리 컴파일 된 헤더를 사용하는 경우는, 비주얼 C++의 필요 각 cpp 파일에 "StdAfx.h"를 포함 시키십시오. StdAfx.h의 헤더를 사용하지 않는 파일도 포함됩니다. 하나의 파일에 StdAfx.h를 포함하는 것을 잊어 버리면 오류가 발생하지만 그 이유는 무엇입니까? 확실한 접근법은 "StdAfx.h를 포함하면 파일이 사용되지만 포함시키지 않으면 헤더 파일이 포함되지 않습니다."VC++에서 왜 당신에게 필요한지 이해할 수 없습니다. 필요하지 않은 경우 StdAfx.h를 포함하십시오. 정상적인 헤더 파일처럼 취급하는 것이 더 쉬워 진 것 같습니다.
이것이 필요한 이유가 있습니까?
미리 컴파일 된 헤더의 전체 지점은 컴파일 시간을 단축하는 것입니다. 추가 검사가 수행되면 컴파일 시간이 늘어나고 미리 컴파일 된 헤더의 유일한 이점을 얻을 수 있습니다. –
왜 그런 말을합니까? 추가 검사가 필요 없습니다. VC++은 "첫 번째 줄이 #include"stdafx 인 경우에만 할 수 있습니다.h "그 안에 기호를 복사하고, 그렇지 않으면 아무것도하지 않습니다." 마이크로 소프트가 그렇게하는 것이 사용자에게 더 쉽고 분명해 졌던 것처럼 보입니다. – user2543623
사실, 모든 파일에 "StdAfx.h"를 요구하지 않는 * 실제로는 컴파일 시간을 향상시킬 수 있습니다. 그럴 필요가 없으므로 미리 컴파일 된 기호를 필요로하지 않는 .cpp 파일에 복사 할 필요가 없기 때문입니다. – user2543623