首页 › 编译与程序转换 › 正文
作用域规定某个名称可以被访问的范围 类型安全不能保证所有业务逻辑都正确 抽象语法树保留与程序语义相关的结构
笔记摘要
编译与程序转换
类型系统约束值与操作之间的合法组合
类型系统约束值与操作之间的合法组合。静态类型检查在执行前发现部分不一致。动态类型检查在运行过程中验证相关条件。类型安全不能保证所有业务逻辑都正确。中间表示为优化和目标生成提供统一形式。控制流图表达基本块之间的执行关系。数据流分析推断值在程序中的传播性质。常量传播用已知常量替代相关表达式。
死代码消除移除不会影响可见结果的代码
死代码消除移除不会影响可见结果的代码。公共子表达式消除复用相同的计算结果。循环不变量外提减少循环中的重复运算。循环展开用更多代码换取部分执行效率。内联把函数体展开到调用位置附近。过度内联可能增加代码体积和缓存压力。寄存器分配把临时值安排到有限寄存器。
优化可能使调试中的变量位置难以直接观察
优化可能使调试中的变量位置难以直接观察。链接器把目标文件和库组合成可执行形式。静态链接把需要的库代码加入最终产物。动态链接在装载或运行时解析部分依赖。应用二进制接口规定调用和数据布局约定。接口兼容性需要考虑编译器和平台差异。即时编译在程序运行期间生成机器代码。
笔记类型说明
来源:松岬生活网
BY66626,统一资源标识符用于表达资源的引用位置(网络服务通过请求与响应提供应用功能)
测试用例包含输入与条件及预期结果:可重复随机种子帮助复现随机测试失败