/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 не будет вызывать конструктор копирования или деструктор. Выписки выхода суммы к конструктору, деструктора и конструктор копии, чтобы увидеть эффект оптимизации возвращаемого значения Named при запуске программы. Именованная оптимизация возвращаемого значения в Visual C++ 2005 C. Дополнительные сведения в разделе в.
// 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
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Открытие свойств страниц проекта.
Откройте папку C/C++.
Перейдите на страницу свойств Оптимизация.
Измените значение свойства Оптимизация.
Установка данного параметра компилятора программным способом
- См. раздел Optimization.
См. также
Ссылки
Параметры /O (оптимизация кода)