C中的循环是否保证按顺序执行?

时间:2013-07-08 18:08:17

标签: c loops optimization

ANSI-C中的'for'循环是否保证按顺序执行,还是可以通过编译器使用乱序执行来优化? 如果是这样,哪些编译器这样做?在哪个优化级别?如何防止这种优化?

1 个答案:

答案 0 :(得分:3)

如果编译器能够确定它不会改变程序的可观察行为,则编译器有权不按顺序执行语句。如果要严格按照C抽象机的规则执行语句,请使用volatile个对象。