/O2
== /Og /Oi /Ot /Oy /Ob2 /GF /Gy
.Шаг за шагом:
/Og
: Глобальные оптимизации :
/ Og устарела.Эти оптимизации теперь обычно включены по умолчанию
~> пофиг.В любом случае:
Вы можете включить или отключить глобальную оптимизацию для каждой функции, используя прагму оптимизации, вместе с опцией g.
#pragma optimize("g", on)
/Oi
: свойственный
#pragma intrinsic(_disable, _outp, fabs, strcmp, _enable, _outpw, labs, strcpy,
_inp, _rotl, memcmp, strlen, _inpw, _rotr, memcpy, _lrotl,
_strset, memset, _lrotr, abs, strcat)
/Ot
: оптимизация
#pragma optimize("t", on)
/Oy
: оптимизировать
#pragma optimize("y", on)
/Ob2
Расширение встроенной функции :
Компилятор рассматривает параметры встроенного расширения и ключевые слова как предложения.Нет никаких гарантий, что какая-либо функция будет развернута в строке.Вы можете отключить встроенные расширения, но не можете заставить компилятор встроить определенную функцию даже при использовании ключевого слова __forceinline.
~> Не важно.
/GF
Не знаю.
/Gy
Не знаю.
Конечный результат:
#pragma intrinsic(_disable, _outp, fabs, strcmp, _enable, _outpw, labs, strcpy,
_inp, _rotl, memcmp, strlen, _inpw, _rotr, memcpy, _lrotl,
_strset, memset, _lrotr, abs, strcat)
#pragma optimize("gty", on)
Еще одна вещь: почему ??