0
#include <Windows.h>
#define WIN32_LEAN_AND_MEAN

上記のコードステートメントに誤りがあるのはなぜですか? 順序が間違っていますか?

4

2 に答える 2

6

Windows.h ヘッダーで、WIN32_LEAN_AND_MEAN が定義されていない場合、プリプロセッサは他のヘッダーを含めます。したがって、これらのヘッダーを含めたくない場合は、 #include の前に WIN32_LEAN_AND_MEAN を定義する必要があります。そうしないと、効果がありません

#ifndef WIN32_LEAN_AND_MEAN
#include <cderr.h>
#include <dde.h>
#include <ddeml.h>
#include <dlgs.h>
#ifndef _MAC
    #include <lzexpand.h>
    #include <mmsystem.h>
    #include <nb30.h>
    #include <rpc.h>
#endif
#include <shellapi.h>
#ifndef _MAC
    #include <winperf.h>
    #include <winsock.h>
#endif
#ifndef NOCRYPT
    #include <wincrypt.h>
    #include <winefs.h>
    #include <winscard.h>
#endif

#ifndef NOGDI
    #ifndef _MAC
        #include <winspool.h>
        #ifdef INC_OLE1
            #include <ole.h>
        #else
            #include <ole2.h>
        #endif /* !INC_OLE1 */
    #endif /* !MAC */
    #include <commdlg.h>
#endif /* !NOGDI */
#endif /* WIN32_LEAN_AND_MEAN */

Windows.h から直接

于 2013-06-05T13:08:39.867 に答える