Qu’est-ce que #defining WIN32_LEAN_AND_MEAN exclut exactement ?
Source : Stack Overflow [windows]
Directement depuis le fichier d’en-tete 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 souhaitez savoir ce que chacun des en-tetes fait reellement, taper les noms des en-tetes dans la recherche de la bibliotheque MSDN produira generalement une liste des fonctions contenues dans ce fichier d’en-tete.
De plus, depuis la page de support de Microsoft :
Pour accelerer le processus de compilation, Visual C++ et les en-tetes Windows fournissent
les nouvelles definitions suivantes :
VC_EXTRALEAN
WIN32_LEAN_AND_MEAN
Vous pouvez les utiliser pour reduire la taille des fichiers d’en-tete Win32.
Enfin, si vous choisissez d’utiliser l’une de ces definitions de preprocesseur et qu’il vous manque quelque chose, vous pouvez simplement inclure ce fichier d’en-tete specifique vous-meme. Taper le nom de la fonction que vous recherchez dans MSDN produira generalement une entree qui vous indiquera quel en-tete inclure si vous souhaitez l’utiliser, en bas de la page.