2011-02-17 7 views

답변

11

일반적으로 MFC 응용 프로그램 코드는 afx.h 또는 afxwin.h (후자는 전자 포함)입니다. windows.h의 처음 두 행이 헤더를 포함하는 경우 _WINDOWS_ 정의된다 것을 의미

#ifndef _WINDOWS_ 
#define _WINDOWS_ 

이다. Afx.hafxver_.h 포함이 헤더는 다음과 같은 코드를 포함하고있는 afxv_w32.h을 포함한다 : 당신은 당신이 볼 수 있듯이 당신이 경우 windows.h은 MFC 헤더 전에,이 오류는, 컴파일시에 생성거야 포함하는 경우, 그래서

#ifdef _WINDOWS_ 
    #error WINDOWS.H already included. MFC apps must not #include <windows.h> 
#endif 
... 
#include <windows.h> 

afxwin.h을 포함 시키려면 windows.h을 포함 할 필요가 없습니다.이 파일은 이미 afxv_w32.h에 포함됩니다.

2

MFC에서 직접 사용하지 않아야하기 때문입니다. AFAIR 대신 afx.h를 포함시켜야하는데, 간접적으로 적절한 방법으로 windows.h가 포함됩니다.