标签: c loops optimization
ANSI-C中的'for'循环是否保证按顺序执行,还是可以通过编译器使用乱序执行来优化? 如果是这样,哪些编译器这样做?在哪个优化级别?如何防止这种优化?
答案 0 :(得分:3)
如果编译器能够确定它不会改变程序的可观察行为,则编译器有权不按顺序执行语句。如果要严格按照C抽象机的规则执行语句,请使用volatile个对象。
volatile