不是编译器优化C ++中的代码部分

时间:2011-02-25 20:45:49

标签: c++ optimization compiler-construction

有没有办法告诉编译器不优化代码的选择部分?我知道你可以告诉编译器不要使用volatile来优化某些变量但是整个代码块呢?

1 个答案:

答案 0 :(得分:8)

在大多数情况下,是的,但确切的方法取决于您的特定编译器。

通常情况如下:

#pragma optimize(off)

任何与优化器相关的内容都完全超出了标准的范围。标准的唯一部分是强制执行行为,但编译器可以执行任何不违反所需行为的优化,或者根本不执行任何优化。

g ++的文档:

MS Visual C ++文档(一旦到达,选择版本):