【发布时间】:2013-07-06 04:08:02
【问题描述】:
ANSI-C 中的“for”循环是否保证按顺序执行,或者编译器是否可以使用乱序执行对其进行优化? 如果是这样,哪些编译器会这样做?在哪个优化级别?如何防止这种优化?
【问题讨论】:
-
理论上,如果代码被“神奇地”并行化,并且每个线程以不同的速度运行,则循环可能会乱序执行。我不得不考虑调试这种情况会有多难看......
-
不允许优化改变正确程序的顺序行为。所以不,你不必担心。
标签: c loops optimization