
一、概念预编译是程序编译过程中最先执行的文本处理阶段主要处理源代码中以#开头的指令为正式编译做准备。二、实现方式准备阶段解析 / 编译 / 优化 / 生成产物 / 保存或缓存 执行阶段加载产物 / 绑定数据 / 运行 / 查询 / 匹配时间前移把原本运行时才做的解析、编译、优化、准备工作提前到运行前。产物复用生成可保存、可缓存、可重复使用的产物机器码、字节码、执行计划、render 函数、匹配器、模型引擎等。准备与执行分离准备阶段确定“结构”和“规则”执行阶段只负责“传入数据并运行”。命令与数据分离在 SQL、模板等场景中用户输入通常作为数据绑定不参与语法解析。这是 SQL 预编译防注入的关键但不是所有预编译都涉及用户输入。不改变业务逻辑业务要做什么通常没变变的是“怎么做、什么时候做、怎么准备、怎么执行”。三、总结预编译是一种“时间前移 产物复用”的机制。它把原本运行时才做的解析、编译、准备工作提前完成并保存结果真正执行时只使用准备好的产物并传入数据。不同领域准备的内容不同C 预处理准备宏展开AOT 准备机器码SQL 准备执行计划模板准备 render 函数正则准备匹配器。它改变的是准备方式和执行机制不改变业务逻辑在参数化场景中它让命令和数据分离从而带来安全收益。