|
@@ -25,8 +25,10 @@ authors = ["sabre"]
|
|
|
人们经常质问,为什么编译器在优化过程中利用未定义行为时不给出警告,
|
|
|
因为这些未定义行为的实例可能其实是用户代码中的 bug 。这种想法的主要问题是,
|
|
|
1) 容易产生一大堆没用的警告 —— 因为这些优化在没有 bug 的时候也会随时发生。
|
|
|
-2) 很难仅仅在人们需要的时候才产生警告。3) 没有好的办法(向用户)
|
|
|
-解释,如何在一系列优化组合起来后,发现这一步优化的可能性。
|
|
|
+2) 很难仅仅在人们需要的时候才产生警告。
|
|
|
+3) 没有好的办法(向用户)解释,如何在一系列优化组合起来后,
|
|
|
+发现这一步优化的可能性。
|
|
|
+
|
|
|
下面依次解释这些问题。
|
|
|
|
|
|
## “真的很难” 使得警告变得真正有用
|