"编译器"搜索结果 2 条

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

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

为什么经常听人说编译器比你聪明?

讲个搞笑事情,有很多很老的,2010年以前的c代码,里面为了性能考虑充斥着很多让人看了不明所以的位操作和奇奇怪怪的语法。在现在的编译器面前很多都是负优化。 我工作的时候有一个软件就是这样的,然后有一天我不知道它里面有这么一个API,我按照一样的算法用c++重写了一遍,语句非常简单,看了保证你觉得和python差不多。 写完了以后也就一直在生产环境用了,直到有一天看别的代码的时候发现了这个API, 我吓了一跳赶紧改了代…