Lobsters | 📄 原文链接 | 2026-10-17 收录

WIN32_LEAN_AND_MEAN 这个宏是怎么来的

来源:devblogs.microsoft.com — 2009-11-30

📋 概述

Raymond Chen 回答读者提问,解释 WIN32_LEAN_AND_MEAN 的来历。这个宏出现在 Windows 95 时期,作用是在包含 windows.h 时排除一大批 Windows 头文件。它诞生于 16 位 Windows 向 32 位迁移的过程:16 位的 windows.h 并不包含那些头文件,而定义这个宏就回到了 16 位时代「写一个最简 Windows 程序只需要最少的头文件」的哲学。这既安抚了喜欢精细管理头文件的程序员,也在当时帮了大忙——因为预编译头文件尚不普及。作者回忆,在一台 50MHz 的 80486、8MB 内存的机器上,改用这个宏能让每个 C 文件的编译时间缩短三秒;若项目有 20 个 C 文件,一下就省下一分钟。不过摩尔定律与预编译头文件共同让这个宏变得基本无用了:如今它并不能真的省下多少时间,但在某个时期,它确实可以。

🔑 核心要点

💡 金句

在引入这个符号的那个年代,预编译头文件还不普及。据我回忆,在一台 50MHz 的 80486、8MB 内存的机器上,改用 WIN32_LEAN_AND_MEAN 能让每个 C 文件的编译时间缩短三秒。
← 返回 Lobsters 首页