Visual c + + 和 Windows 在產生過程的速度郵件標頭提供了新的下列定義:
VC_EXTRALEAN WIN32_LEAN_AND_MEAN
可以使用它們來減少了 Win32 標頭檔的大小。
VC_EXTRALEAN 和 WIN32_LEAN_AND_MEAN 用於排除 Windows 標題在很少使用的服務。在 MFC 中只能使用 VC_EXTRALEAN 項目,但 WIN32_LEAN_AND_MEAN 可用於在任何項目。
VC_EXTRALEAN 定義下列中 AFXV_W32.h:
WIN32_EXTRA_LEAN NOSERVICE NOMCX NOIME NOSOUND NOCOMM NOKANJI NORPC NOPROXYSTUB NOIMAGE NOTAPE
WIN32_EXTRA_LEAN 不執行任何操作。請有關 NOxxx 符號被定義的資訊,參閱 Windows.h。
新產生 Visual c + + 5.0 和更高版本的應用程式嚮導應用程式會自動從 VC_EXTRALEAN 受益。您可以手動定義 VC_EXTRALEAN 許多較舊的 MFC 應用程式的產生過程的速度。
WIN32_LEAN_AND_MEAN: Windows 頭可使用該符號來排除很少使用的標頭檔。請參閱 Windows.H 以確定在定義此符號時,將被排除的檔案。因為 MFC 定義了WIN32_LEAN_AND_MEAN,所有 MFC 項目自動都使用它。
無 MFC c + + 和 C 的應用程式可以定義 WIN32_LEAN_AND_MEAN 和任何適用的 NOservice 如 NOSOUND 定義 (請參閱 DevStudio\Vc\include\Windows.h),以減少他們產生的時間。
若要添加這些定義,從項目菜單中,選擇設定。顯示在項目的設定對話方塊。單擊 C/c + + 選項卡。在分類列表中選擇前置處理器。將所需的定義添加到前置處理器定義框中。
更多討論請:Where did WIN32_LEAN_AND_MEAN come from?
今天在寫項目的時候發現編譯不過去,主管告訴我去掉WIN32_LEAN_AND_MEAN 這個宏,然後就行了。特地轉過來記錄下來,不過晚上回來用VC 6.0和VS 08產生預設MFC工程,不管是基於對話方塊,還是單文檔的都沒發現WIN32_LEAN_AND_MEAN這個宏,有VC_EXTRALEAN;而在win32項目的時候沒有VC_EXTRALEAN,有WIN32_LEAN_AND_MEAN。
【參考資料 感謝作者】
1、如何使用 VC_EXTRALEAN 和 WIN32_LEAN_AND_MEAN 增強 Visual c + + 中的產生過程