2011-02-25 63 views
2

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

+0

什么编译器?也可能会提到什么操作系统。 – 2011-02-25 20:47:27

+0

不同的编译器为这类事情提供了不同的选项。你使用什么编译器? – 2011-02-25 20:47:41

+0

我使用VS2008进行仿真,CodeSourcery G ++用于实际设备。 – 2011-02-25 20:49:30

回答

8

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

通常它会是这样的:

#pragma optimize(off) 

任何优化相关的是完全标准的范围之内。标准玩法的唯一部分是强制行为,但编译器可以进行任何不违反所需行为的优化,或根本不做任何优化。

的文档G ++:

文档为微软的Visual C++(选择版本,一旦你到达那里):