2011-02-25 62 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++(選擇版本,一旦你到達那裏):