【发布时间】:2017-05-26 16:32:29
【问题描述】:
在现实世界中是否存在 C 编译器生成的目标代码的功能几乎与描述的源代码相同,但最终证明优化转向(或 可能 em>转)灾难性的?
【问题讨论】:
-
除非编译器本身有bug,否则你得到的就是你输入的。
-
这可能是由于编译器中的错误,或者认为不需要提示编译器的程序员缺乏知识或洞察力造成的。
-
由于编译器中的错误,重度优化仍然会产生错误代码。重度优化还可以生成比较低优化级别更慢 或效率更低的代码。由于优化,源代码中的非常小的错误也可能会增加成大问题,尤其是在涉及未定义的行为时。
标签: c compilation compiler-optimization safety-critical