概念C Preprocessor / CPP
C预处理器
C/C++语言编译流程中的预处理阶段组件,负责宏替换、文件包含和条件编译。本质上是图灵不完备的文本变换系统,通过宏嵌套、延迟展开和token拼接等技巧可模拟循环与元编程。
时间轴 (近 90 天)
10月18日
C预处理器本质上是一个在编译前运行的图灵不完备的文本变换系统。
待验证50%
10月18日
C预处理器禁止宏直接或间接递归展开。
待验证50%
10月18日
通过延迟展开(defer)和占位符技巧可以绕开预处理器禁止宏递归展开的限制,模拟循环效果。
待验证50%
10月18日
不同编译器对宏展开轮次和参数展开顺序的实现细节存在差异,跨编译器移植延迟展开宏时需要格外小心。
待验证50%
10月18日
`#if` 和 `defined` 可以组合出编译期的布尔逻辑,用于构建简单的类型检查或配置选择器。
待验证50%