1 分钟

编译原理-优化

编译原理 优化章

优化

  • 任务
    • 对前面产生的中间代码进行加工变换,以期在最后阶段能产生更为高效的目标代码。
      • 原则:等价变换
      • 主要关注:公共子表达式的提取、合并已知量、删除无用语句、循环优化等。
        • 循环优化:将循环内的语句优化为必需语句

优化举例

image-20241111170905973

上图左边是C语句,右边为for循环的拆解,根据右边语句生成中间代码

image-20241111170844192

中间代码如上,优化结果如下

image-20241111171147194

优化结果中可以看到,乘法消失了

如果循环中只有示例中的代码的话,可以使用加法一次性计算代替循环计算(+1到100变为+5050,依旧等价)

页面展示范围说明

公开:所有页面访客都能看到。

这些选项只控制本博客页面如何展示,由评论服务执行和裁定。所有评论仍公开保存在 GitHub Issues 上。

0 / 5000

Attention 1 分钟 (估算) 发布 评论 — 点赞 — 更新

确认公开发布

评论会公开保存到 GitHub Issues,任何人都可能在 GitHub 或通过 API 查看。这里的选项仅控制本博客页面如何展示,不提供隐私保护。

所选页面展示范围 公开