/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 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁。
按一下 [C/C++] 資料夾。
按一下 [最佳化] 屬性頁。
修改 [最佳化] 屬性。
若要以程式方式設定這個編譯器選項
- 請參閱 Optimization。