글
WIN32_LEAN_AND_MEAN 심볼은 Windows 95 시대에 windows.h를 include 했을 때 많은 헤더 파일을 생략 하려는 목적으로 도입되었다. windows.h를
들여다보면 어느 파일이 생략 되는지를 알 수 있다.
이 심볼은 16-bit Windows에서 32-bit Windows로의 이행의 일환으로서 추가된 것이다.
16bit windows.h는 많은 헤더 파일을 include 하지 않고 WIN32_LEAN_AND_MEAN를 정의하는 것에 의해서 16bit
Windows의 Windows 프로그램을 프로그래밍 할 때 최소한의 헤더라고 하는 사상을
되찾을 수 있도록 하는 것이었다.
이것은 헤더 파일을 세세하게 스스로 관리하고 싶은 프로그래머에게 환영되었으며
또 다른 이점도 있었다. 그 이유는 이 심볼이 만들어진 당시는 프리 컴파일드 헤더 파일은 일반적이지 않았다. 나의 기억으로는 50MHz의 80486에 8MB의
메모리에서는 WIN32_LEAN_AND_MEAN를 사용하는 것에 의해서 C 파일 하나 당 3초의 컴파일 시간 단축으로 연결되었던 것이다. 어느 프로젝트에서 20개의 C 파일을
사용하고 있었다면 1분이라는 시간이 절약이 된다.
무어의 법칙과 프리컴파일드 헤드가 WIN32_LEAN_AND_MEAN을
거의 불필요하게 해 버렸다. 이미 시간의 단축은 되지 않는다. 그러나
어느 시대에서는 확실히 도움이 되었던 것이었다.
출처 : http://cpplover.blogspot.com/2009/12/oldnewthing-win32leanandmean.html
원 출처 : http://blogs.msdn.com/oldnewthing/archive/2009/11/30/9929944.aspx
댓글