📜  门|门CS 2008 |第 85 题

📅  最后修改于: 2021-09-25 07:31:56             🧑  作者: Mango

对中间代码进行了一些代码优化,因为
(A)它们增强了编译器到其他目标处理器的可移植性
(B)程序分析对中间代码比对机器代码更准确
(C)来自数据流分析的信息不能用于优化
(D)来自前端的信息不能用于优化答案:(一)
说明:选项(B)也成立。但是对中间代码生成进行一些代码优化的主要目的是增强编译器对目标处理器的可移植性。所以选项A)在这里更合适。

中间代码是与机器/架构无关的代码。所以编译器可以优化它而不必担心代码将在其上执行的架构(它可能是相同的或另一个)。所以这种编译器可以被多种不同的架构使用。

与此相反,假设代码优化是在目标代码上完成的,这是机器/架构相关的,那么编译器就对这种代码进行了特定的优化。在这种情况下,编译器不能被多个不同的体系结构使用,因为在不同体系结构上生成的目标代码会有所不同。因此,这里的便携性降低了。
这个问题的测验