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

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

编译器把源程序转换为目标执行形式-静态类型检查在执行前发现部分不一致-符号表记录变量和函数等标识信息

· 来源:棠谷见闻录 · 作者:史庭栩
责任编辑:史念禾 · 二审:谢语禾 · 三审:昌若宁

笔记摘要

编译与程序转换

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

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

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

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

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

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

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

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

笔记类型说明

来源:棠谷见闻录

水力发电把水流的机械能转换为电能

水面反光可能影响对池底深度的直观判断_水的浮力能够支持人体的部分重量

相对论动量随速度增加呈现非经典关系,洛伦兹变换联系不同惯性系的时空坐标,不同惯性观察者对同时性的判断可能不同

亚洲一区精品在线:多相催化发生于不同相接触的界面附近_总反应方程式通常不能展示真实的完整机理

相关新闻

市民身份在法律与社会意义上具有差别,香槟集市连接中世纪欧洲不同贸易区域,城市档案保存契约诉讼和议会记录对折纸张会减少一边尺寸并改变使用方向,档案保存需要同时关注纸张和存放环境,沿纹与横纹折叠可能出现不同弯折表现动物细胞常通过分裂沟完成胞质分裂,细胞周期包含生长复制与分裂等阶段酸碱与缓冲:酸与碱的身份在某些体系中取决于反应对象