222 votes

Ce n' #définition WIN32_LEAN_AND_MEAN exclure exactement?

J'ai trouvé l'explication de la définition WIN32_LEAN_AND_MEAN "réduit la taille de la Win32 fichiers d'en-tête par l'exclusion de certaines des personnes les moins fréquemment utilisés Api". Ailleurs j'ai lu qu'il accélère le processus de construction.

Donc, ce n'est WIN32_LEAN_AND_MEAN exclure exactement? Devrais-je me soucier de ce pré-processeur de la directive? D'accélérer le processus de construction?

J'ai aussi vu une directive de préprocesseur dans des projets nommé quelque chose le long des lignes de extra-maigre. Est-ce une autre ésotérique de préprocesseur incantation que je devrais connaître?

208voto

Chris911 Points 1215

Selon le Centre de développement Windows WIN32_LEAN_AND_MEAN exclut des Api telles que la Cryptographie, de la DDE, RPC, Shell, et Windows Sockets.

205voto

bitwise Points 2215

Directement à partir de Windows.h fichier d'en-tête:

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

si vous voulez savoir ce que chacun des en-têtes de réellement faire, typeing les noms d'en-tête dans le moteur de recherche dans la MSDN library permet généralement d'obtenir une liste des fonctions dans ce fichier d'en-tête.

edit: aussi, à partir du lien suivant: http://support.microsoft.com/kb/166474

Pour accélérer le processus de construction, Visual C++ et le Windows les en-Têtes de fournir la nouvelle suivante définit:

VC_EXTRALEAN
WIN32_LEAN_AND_MEAN

Vous pouvez les utiliser pour réduire la taille de la Win32 fichiers d'en-tête.

Enfin, si vous choisissez d'utiliser l'un de ces préprocesseurs, et quelque chose que vous avez besoin est manquant, vous pouvez simplement inclure spécifiques fichier d'en-tête vous-même. En tapant le nom de la fonction que vous recherchez dans MSDN se produisent généralement une entrée qui va vous dire qui d'en-tête à inclure si vous voulez l'utiliser, au bas de la page.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X