2012-06-14 11 views
106

私は、WIN32_LEAN_AND_MEANを定義する説明が、「あまり使われていないAPIのいくつかを除外してWin32ヘッダーファイルのサイズを減らす」ことを発見しました。どこか別の場所では、ビルドプロセスのスピードアップを読んでいます。#define WIN32_LEAN_AND_MEANは何を正確に除外しますか?

したがって、WIN32_LEAN_AND_MEANは何を正確に除外しますか?私はこのプリプロセッサ指令を気にするべきですか?それはビルドプロセスをスピードアップしますか?

私はまた、余分なリーンラインに沿って何かという名前のプロジェクトでプリプロセッサディレクティブを見たことがあります。これは私が知るべき別の難解なプリプロセッサの命令ですか?

答えて

101

直接はWindows.hヘッダファイルから:あなたが実際に何をすべきか、ヘッダーの各知りたい場合は

#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 */ 

MSDNライブラリ内の検索にヘッダ名をtypeingするには、通常のリストを生成しますそのヘッダファイル内の関数ビルドプロセスを高速化するため

は、Visual C++とWindowsのヘッダが 次の新しい定義提供:Microsoft's support pageからも

、あなたがそれらを使用することができます

VC_EXTRALEAN
WIN32_LEAN_AND_MEAN

をWin32ヘッダーファイルのサイズを小さくします。あなたはこれらのプリプロセッサのいずれかを使用することを選択し、必要な何かが欠落している場合

は最後に、あなただけの特定のヘッダファイルを自分ですることを含めることができます。 MSDNに入っている関数の名前を入力すると、通常はページの一番下にあるヘッダを使用するかどうかを示すエントリが生成されます。

58

によると、Windows Dev Center WIN32_LEAN_AND_MEANは、暗号化、DDE、RPC、シェル、およびWindowsソケットなどのAPIを除外します。

+7

私はこれが私たちのほとんどが探していた簡潔な答えだと思います。 –

関連する問題