共用方式為


/O1、/O2 (最小大小、最快速度)

選取一組預先定義而能夠影響檔案大小和速度的選項。

/O1
/O2

備註

下表描述了 /O1/O2

選項

相當於

註解

/O1 (最小化程式碼)

/Og /Os /Oy /Ob2 /Gs /GF /Gy

在大多數情況下會建立最小的程式碼。

/O2 (最大化速度)

/Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy

在大多數情況下會建立最快的程式碼 (發行組建的預設設定)。

/O1/O2 也會啟用「具名傳回值」最佳化,以排除堆疊式傳回值的複製建構函式和解構函式, 您可以參考下列範例。 Test 函式不會建立複製建構函式或解構函式, 加入輸入陳述式,建構函式、 解構函式和複製建構函式,才能看到名為傳回值 」 最佳化的效果,當您執行程式。 如需詳細資訊,請參閱名為傳回值 」 最佳化在 Visual C++ 2005年中

// O1_O2_NRVO.cpp
// compile with: /O1
struct A {
   A() {}
   ~A() {}
   A(const A& aa) {}
};

A Test() {
   A a;
   return a;
}
int main() {
   A aa;
   aa = Test();
}

x86 專屬資訊

這些選項隱含了框架指標省略 (/Oy) 選項的使用。

x86 專屬資訊結束

在 Visual Studio 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁

  2. 按一下 [C/C++] 資料夾。

  3. 按一下 [最佳化] 屬性頁。

  4. 修改 [最佳化] 屬性。

若要以程式方式設定這個編譯器選項

請參閱

參考

/O 選項 (最佳化程式碼)

編譯器選項

設定編譯器選項

/EH (例外狀況處理模型)