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

问题描述 投票:0回答:1

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

c++ optimization
1个回答
8
投票

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

通常会是这样的:

#pragma optimize(off)

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

g++ 文档:

MS Visual C++ 文档(到达那里后选择版本):

© www.soinside.com 2019 - 2024. All rights reserved.