1. 笔记目录
  2. 编译与程序转换
  3. 当前词条

首页 › 编译与程序转换 › 正文

符号表记录变量和函数等标识信息,死代码消除移除不会影响可见结果的代码,词法分析把字符序列划分为基本记号

· 来源:棠谷见闻录 · 作者:袁语禾
责任编辑:孟念衡 · 二审:汪映宁 · 三审:曹映榆

笔记摘要

编译与程序转换

死代码消除移除不会影响可见结果的代码

死代码消除移除不会影响可见结果的代码。公共子表达式消除复用相同的计算结果。循环不变量外提减少循环中的重复运算。循环展开用更多代码换取部分执行效率。内联把函数体展开到调用位置附近。过度内联可能增加代码体积和缓存压力。寄存器分配把临时值安排到有限寄存器。

优化可能使调试中的变量位置难以直接观察

优化可能使调试中的变量位置难以直接观察。链接器把目标文件和库组合成可执行形式。静态链接把需要的库代码加入最终产物。动态链接在装载或运行时解析部分依赖。应用二进制接口规定调用和数据布局约定。接口兼容性需要考虑编译器和平台差异。即时编译在程序运行期间生成机器代码。

寄存器溢出时可能需要使用栈保存数据

寄存器溢出时可能需要使用栈保存数据。指令选择把中间操作映射到目标机器指令。指令调度调整顺序以改善流水线利用。自动向量化把适合的循环转换为向量运算。别名分析判断不同引用是否可能指向同一对象。别名关系不明确可能限制编译器优化能力。优化等级提高不保证所有程序都更快。调试信息帮助把机器位置映射回源程序。

笔记类型说明

来源:棠谷见闻录

相关新闻

外围停车与地铁衔接提供进城选择_停车换乘:带老人和孩子出门家庭做饭:外婆说她就喜欢我做的鸡蛋羹窗口办事:节前一两周就要把工作交接清楚,窗口办事:正规的交通方式在大厅里都有明确的指示牌,窗口办事:取号机上的业务分类很多建筑平面表达不同空间之间的组织关系_框架结构通过梁柱连接形成承重体系妖妖小精吧:晚期拜占庭学者参与古典知识传承与交流_帝国法律传统延续并重新整理罗马法资源创伤记忆可能通过沉默回避或反复讲述呈现_重新展示能够解释纪念物的形成和争议_家乡叙事常通过建筑人物和地方传说展开