3.2.1 文本宏 3.2.1 文本宏:在编译前重塑代码的隐秘之手 你有没有在某个深夜调试一段看似无懈可击的 C 代码,却在预处理后的 文件里发现一行被“魔改”得面目全非的表达式?它原本是 ,展开后却变成 ——而更诡异的是,当 是 、 是 时,这段宏调用竟悄悄执行了三次副作用。那一刻,你不是在写程序,而是在和一个不声不响、不讲情面、却拥有绝对编译期话语权的“影子编译器”博弈。 这,就是文本宏(Text Macro)的真实面貌:它不是语法糖,不是抽象层,更不是现代语言中可推导、可类型检查的元编程构造;它是字面量层面的、无上下文感知的、机械式的字符串替换引擎。它的力量源于其原始性,它的危险也正藏于这份原始之中。