WIN32_LEAN_AND_MEAN을 정의하는 설명에서 “빈도가 적은 API를 제외하여 Win32 헤더 파일의 크기가 줄어 듭니다”라는 것을 알았습니다. 다른 곳에서는 빌드 프로세스 속도가 빨라진다는 것을 읽었습니다.
그렇다면 WIN32_LEAN_AND_MEAN은 정확히 무엇을 배제합니까? 이 전 처리기 지시문에주의해야합니까? 빌드 프로세스가 빨라 집니까?
또한 여분의 린 라인을 따라 명명 된 프로젝트에서 전 처리기 지시문을 보았습니다. 이것이 내가 알아야 할 또 다른 난해한 전 처리기 주문입니까?
답변
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 라이브러리 의 검색에 헤더 이름을 입력 하면 일반적으로 해당 헤더 파일의 함수 목록이 생성됩니다.
또한,에서 마이크로 소프트의 지원 페이지 :
빌드 프로세스 속도를 높이기 위해 Visual C ++ 및 Windows 헤더는 다음과 같은 새로운 정의를 제공합니다.
VC_EXTRALEAN
WIN32_LEAN_AND_MEAN이를 사용하여 Win32 헤더 파일의 크기를 줄일 수 있습니다.
마지막으로, 이러한 전 처리기 정의 중 하나를 사용하기로 선택했는데 필요한 것이 누락 된 경우 해당 헤더 파일을 직접 포함시킬 수 있습니다. MSDN에 함수 이름을 입력하면 일반적으로 페이지 하단에 사용하려는 헤더를 포함하는 항목이 생성됩니다.