Что означает #defining WIN32 LEAN и означает точно исключить?
Я нашел объяснение, определяющее WIN32_LEAN_AND_MEAN "уменьшает размер заголовочных файлов Win32, исключая некоторые из менее часто используемых API". Где-то еще я читал, что это ускоряет процесс сборки.
Итак, что точно исключает WIN32_LEAN_AND_MEAN? Должен ли я заботиться об этой директиве pre-processor? Это ускоряет процесс сборки?
Я также видел директиву препроцессора в проектах, названных чем-то вроде extra lean. Есть это еще одно эзотерическое заклинание препроцессора, о котором я должен знать?
2 ответов
прямо из окон.файл заголовка 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 C++ и заголовки Windows предоставляют следующее новое определение:
VC_EXTRALEAN
WIN32_LEAN_AND_MEANих можно использовать для уменьшения размера файлов заголовков Win32.
наконец, если вы решите использовать любой из этих препроцессоров, и что-то вам не хватает, вы можете просто включить этот конкретный файл заголовка самостоятельно. Ввод имени функции, которую вы ищете, в MSDN обычно приведет к записи, которая скажет вам, какой заголовок включить, если вы хотите его использовать, в нижней части страница.
по данным Центр Разработки Windows WIN32_LEAN_AND_MEAN исключает API, такие как криптография, DDE, RPC, оболочка и сокеты Windows.