"编译器"搜索结果 1 条
编译器有什么有趣的地方?

编译器有什么有趣的地方?

当编译器优化遇上 UB(未定义行为),就会很有意思。我这里分享某论坛上一个有名的例子——“C++编译器证伪费马大定理”,侵删。 考虑以下程序 如果 13 行的方程在 1e9 内有解,函数就会返回,否则陷入死循环。而根据费马大定理,该方程无解。 在无优化下,程序如预期陷入死循环;而在 O2 优化下,程序却正常退出了 这是因为,编译器认为函数一定会返回,而 31 行的 return 因为前面的死循环必然执行不到,所以编译器认定程序一定…