J'ai trouvé l'explication définissant WIN32_LEAN_AND_MEAN "réduit la taille des fichiers d'en-tête Win32 en excluant certaines des API les moins fréquemment utilisées". Ailleurs, j'ai lu que cela accélère le processus de construction.
Alors qu'est-ce que WIN32_LEAN_AND_MEAN exclut exactement? Devrais-je me soucier de cette directive pré-processeur? Cela accélère-t-il le processus de construction?
J'ai également vu une directive du préprocesseur dans des projets nommés quelque chose du genre "extra maigre". Est-ce une autre incantation de préprocesseur ésotérique que je devrais connaître?
Directement à partir du fichier d'en-tête 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 */
si vous voulez savoir ce que font chacun des en-têtes, tapez les noms des en-têtes dans la recherche dans la bibliothèque MSDN produira généralement une liste des fonctions dans ce fichier d'en-tête.
Aussi, à partir de page de support de Microsoft :
Pour accélérer le processus de génération, Visual C++ et les en-têtes Windows fournissent les nouvelles définitions suivantes:
VC_EXTRALEAN
WIN32_LEAN_AND_MEANVous pouvez les utiliser pour réduire la taille des fichiers d'en-tête Win32.
Enfin, si vous choisissez d'utiliser l'un de ces préprocesseurs et qu'il vous manque quelque chose, vous pouvez simplement inclure vous-même ce fichier d'en-tête spécifique. En tapant le nom de la fonction que vous recherchez dans MSDN, vous obtiendrez généralement une entrée qui vous indiquera l'en-tête à inclure si vous souhaitez l'utiliser, au bas de la page.
Conformément à Centre de développement Windows WIN32_LEAN_AND_MEAN exclut les API telles que Cryptography, DDE, RPC, Shell et Windows Sockets.