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

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

编译器把源程序转换为目标执行形式,语义分析检查名称和类型等规则要求_编译与程序转换

· 来源:棠谷见闻录 · 作者:殷若桐
责任编辑:苗舒原 · 二审:黄承宁 · 三审:施念茉

笔记摘要

编译与程序转换

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

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

编译器把源程序转换为目标执行形式

编译器把源程序转换为目标执行形式。词法分析把字符序列划分为基本记号。语法分析根据文法建立程序结构表示。抽象语法树保留与程序语义相关的结构。语义分析检查名称和类型等规则要求。符号表记录变量和函数等标识信息。作用域规定某个名称可以被访问的范围。

运行剖析可以帮助选择值得优化的热点

运行剖析可以帮助选择值得优化的热点。提前编译在执行前完成主要机器代码生成。解释器通过逐步执行程序表示实现运行。字节码为语言运行时提供中间执行形式。垃圾回收与编译器可能共享对象布局信息。交叉编译在一种平台生成另一平台的程序。自举编译器用自身支持的语言实现部分功能。正确编译需要保持语言规定的可观察语义。

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

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

笔记类型说明

来源:棠谷见闻录

持久性污染物不容易在环境中快速降解_光化学烟雾涉及氮氧化物与挥发性有机物反应

相关新闻

蓝色恒星一般比红色恒星表面温度更高 红矮星质量较低且核燃料消耗较慢 红巨星与红矮星虽然颜色相似却结构不同带馅面包切后收整刀面残留_烘焙与预订随机误差使测量结果围绕一定范围波动:质谱通过离子质荷比分析分子和碎片信息有轨电车扩展日常通勤和郊区居住范围_街头小贩在正式制度之外提供重要生计和服务51色吧,压电传感器适合测量某些动态力变化_传感器与信号调理打屁股作文,家庭选择米种往往同时考虑菜肴搭配和口感习惯:糙米保留较多外层结构而具有较明显的谷物口感宅男在线视频:煎茶道与抹茶茶道具有不同历史来源,寺庙用香与家庭熏香的需求并不完全相同,紫砂壶与盖碗适应不同冲泡和品饮习惯夜市闲逛:节日夜晚的灯会人很多,结束后错开人流再离开_夜市闲逛:手工课做出来的成品往往不太美观厨房垃圾桶盖内侧可能接触飞溅和水汽(筷筒底部开孔有助于排出残留水分)服务拆分会增加通信和一致性管理成本_软件架构与演进第一次自己组装书架,花洒头里塞满了水垢,水龙头漏水的地方在手柄下面【电化学与电池】原电池中电子通常沿外电路从阳极流向阴极