对中间代码进行了一些代码优化,因为
(A)它们增强了编译器到其他目标处理器的可移植性
(B)程序分析在中间代码上比在机器代码上更准确
(C)数据流分析中的信息不能用于优化
(D)不能将来自前端的信息用于优化答案: (A)
说明:选项(B)也是如此。但是,对中间代码生成进行一些代码优化的主要目的是增强编译器到目标处理器的可移植性。因此,选项A)在这里更合适。
中间代码是机器/体系结构无关的代码。因此,编译器可以对其进行优化,而不必担心代码将在其上执行的体系结构(它可以相同或不同)。因此,这种编译器可用于多种不同的体系结构。
与此相反,假定代码优化是在目标代码上完成的,而目标代码是与机器/体系结构相关的,那么编译器将具体说明对此类代码的优化。在这种情况下,编译器不能用于多个不同的体系结构,因为在不同的体系结构上生成的目标代码会有所不同。因此,此处的可移植性降低了。
这个问题的测验