#정의 WIN32_LEAN_AND_MEAN은 정확히 무엇을 제외합니까?
나는 설명에서 다음과 같은 정의를 찾았다.WIN32_LEAN_AND_MEAN "빈도가 낮은 API를 제외함으로써 Win32 헤더 파일의 크기를 줄입니다."어디선가 읽은 바로는 빌드 프로세스가 빨라진다고 하더군요.
''이 뭘까요?WIN32_LEAN_AND_MEAN확히히? 츠요시이 프리프로세서 지령에 대해 신경 써야 합니까?드드프 ?? ?? ?? ??? ??
또, 프로젝트에서는, 프리프로세서의 지시가, 한층 더 린이라고 하는 이름으로 되어 있는 것도 보았습니다.제가 알아야 할 또 다른 난해한 시술 전 주문인가요?
Windows Dev Center에 따르면 WIN32_LEAN_AND_MEAN은 암호화, DDE, RPC, 셸, Windows 소켓 등의 API를 제외합니다.
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 C++ 및 Windows Headers는 다음과 같은 새로운 정의를 제공합니다.
VC_EXTRALEAN WIN32_LEAN_AND_MEAN이러한 파일을 사용하여 Win32 헤더 파일의 크기를 줄일 수 있습니다.
마지막으로 이들 프리프로세서 정의 중 하나를 사용하기로 선택했을 때 필요한 것이 없을 경우 해당 특정 헤더파일을 직접 포함할 수 있습니다.MSDN에 원하는 함수의 이름을 입력하면 일반적으로 페이지 하단에 어떤 헤더를 포함시킬지 알려주는 엔트리가 생성됩니다.
위의 답변과 Windows Dev Center 문서의 '패럿'을 보완합니다.
Winsock2.h 헤더 파일에는 Windows의 핵심 요소가 포함되어 있습니다.h 헤더 파일입니다.따라서 보통 Windows에는 #include 행이 없습니다.h 헤더 파일을 Winsock 어플리케이션으로 지정합니다.Windows 에 #include 행이 필요한 경우.h 헤더 파일 앞에 #define WIN32_LEAN_AND_MEAN 매크로가 있어야 합니다.과거의 이유로, Windows.h 헤더는 기본적으로 Winsock을 포함합니다.h 헤더 파일(Windows Sockets 1.1 용)윈석에서의 선언들.h 헤더 파일은 Windows Sockets 2.0에서 필요한 Winsock2.h 헤더 파일의 선언과 경합합니다.WIN32_LEAN_AND_MEAN 매크로를 사용하면 Winsock.h가 Windows에 포함되지 않습니다.h 헤더..
Raymond Chen의 블로그에서 그 이유에 대한 좋은 답변을 드리겠습니다.https://devblogs.microsoft.com/oldnewthing/20091130-00/?p=15863
...WIN32_LEAN_AND_MEAN을 정의하면 베어본 Windows 프로그램을 쓰기 위한 최소한의 헤더 파일 세트라는 16비트 Windows 철학으로 돌아갑니다.이것은 그들의 헤더 파일을 마이크로 관리하기를 좋아하는 프로그래머들을 달래주었고, 심볼이 도입되었을 때 미리 컴파일된 헤더 파일이 일반적으로 사용되지 않았기 때문에 큰 도움이 되었다.기억하기로는 메모리가 8MB인 50MHz 80486에서는 WIN32_LEAN_AND_MEAN으로 전환하여 각 C파일의 컴파일 시간을 3초 단축하였습니다.프로젝트가 20개의 C 파일로 구성되면 바로 1분이 절약됩니다.
언급URL : https://stackoverflow.com/questions/11040133/what-does-defining-win32-lean-and-mean-exclude-exactly
'programing' 카테고리의 다른 글
| "git add -A"와 "git add -A"의 차이. (0) | 2023.04.19 |
|---|---|
| 오류: Dispatcher를 사용하더라도 DependencyObject와 동일한 스레드에 DependencySource를 생성해야 합니다. (0) | 2023.04.19 |
| .gitignore for Visual Studio 프로젝트 및 솔루션 (0) | 2023.04.19 |
| Git을 사용하여 이전 커밋에서 분기 (0) | 2023.04.19 |
| C#에서 Excel 파일 읽기 (0) | 2023.04.19 |