C++ 不是编译器优化C++;
有没有办法告诉编译器不要优化代码的某些部分?我知道你可以告诉编译器不要使用volatile优化掉某些变量,但是整段代码呢?在大多数情况下,是的,但具体方法取决于你的特定编译器 通常是这样的:C++ 不是编译器优化C++;,c++,optimization,compiler-construction,C++,Optimization,Compiler Construction,有没有办法告诉编译器不要优化代码的某些部分?我知道你可以告诉编译器不要使用volatile优化掉某些变量,但是整段代码呢?在大多数情况下,是的,但具体方法取决于你的特定编译器 通常是这样的: #pragma optimize(off) 任何与优化器相关的内容都完全超出了标准的范围。标准所扮演的唯一角色是强制执行行为,但是编译器可以执行任何不违反所需行为的优化,或者根本不违反所需行为的优化 g++的文档: MS Visual C++的文档(选择一个版本后): 什么编译器?提到什么操
#pragma optimize(off)
任何与优化器相关的内容都完全超出了标准的范围。标准所扮演的唯一角色是强制执行行为,但是编译器可以执行任何不违反所需行为的优化,或者根本不违反所需行为的优化
g++的文档: