Ответ 1
Непосредственно из файла заголовка 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, обычно создайте список функций в этом файле заголовка.
Кроме того, из страницы поддержки Microsoft:
Чтобы ускорить процесс сборки, Visual С++ и заголовки Windows обеспечивают следующие новые определяет:
VC_EXTRALEAN
WIN32_LEAN_AND_MEANВы можете использовать их для уменьшения размера файлов заголовков Win32.
Наконец, если вы решите использовать любой из этих препроцессоров, и что-то вам не нужно, вы можете просто включить этот конкретный заголовочный файл самостоятельно. Ввод имени функции, которую вы используете в MSDN, обычно приводит к записи, в которой указывается, какой заголовок будет включен, если вы хотите использовать его, в нижней части страницы.