有没有办法告诉编译器不优化代码的选择部分?我知道你可以告诉编译器不要使用volatile来优化某些变量但是整个代码块呢?
答案 0 :(得分:8)
在大多数情况下,是的,但确切的方法取决于您的特定编译器。
通常情况如下:
#pragma optimize(off)
任何与优化器相关的内容都完全超出了标准的范围。标准的唯一部分是强制执行行为,但编译器可以执行任何不违反所需行为的优化,或者根本不执行任何优化。
g ++的文档:
MS Visual C ++文档(一旦到达,选择版本):