WIN32_LEAN_AND_MEAN的作用

Exclude rarely-used stuff from Windows headers
#define WIN32_LEAN_AND_MEAN
從Windows.h表頭中排除極少使用的資料
Q: 這個是幹什麼用的啊
A: 更快的生成和更小的header files
如何生成得更快? 為加速生成過程,Visual C++提供如下定義
(這些定義通過排除一些不太常用的API,減小Win32 header files的大小):
VC _EXTRALEAN
WIN32_LEAN_AND_MEAN
VC _EXTRALEAN定義WIN32_LEAN_AND_MEAN和若干NOservice定義,
如NOCOMM和NOSOUND。(有關NOservice定義列表,請參見表頭文件Windows.h和MFC的header file, afxv_w32.h)
用Visual C++應用程序嚮導創建的應用程序自動使用VC_EXTRALEAN。可以在舊式MFC應用程序中手動定義VC _EXTRALEAN以加速生成過程。
非MFC應用程序可以定義WIN32_LEAN_AND_MEAN和適用的NOservice定義以減少生成時間。
試圖使用這些定義排除的API會導致編譯器錯誤。
例如,如果定義NOCOMM或VC _EXTRALEAN的程序試圖使用PurgeComm,則會導致下面的錯誤:
error C2065: 'PurgeComm' : undeclared identifier
error C2064: term does not evaluate to a function

Q: 那是不是一般在用到
#include
#include
等等的時候要用到這個
WIN32_LEAN_AND_MEAN來加速?

A:自己想減少的時候