Как отключить оптимизацию возвращаемого значения в Visual Studio 2010? - PullRequest
9 голосов
/ 30 марта 2012

Можно ли отключить RVO (оптимизацию возвращаемого значения) в Visual Studio 2010?Установка флага оптимизации на /Od (отключает все оптимизации) не помогает.В g ++ существует флаг -fno-elide-constructors, который отключает RVO.

Ответы [ 3 ]

8 голосов
/ 30 марта 2012

Вы не можете. Это так просто. RVO / NRVO является стандартным, и ваш код не должен зависеть от его отсутствия.

1 голос
/ 30 марта 2012

Попробуйте определить вашу переменную как volatile, возможно, решит вашу проблему. Если это не так, вы должны отправить код прибытия ...

0 голосов
/ 30 марта 2012

Нет причин отключать эту оптимизацию!Чего ты пытаешься достичь?Это помогает отлаживать сборки быстрее, без каких-либо побочных эффектов.Это также гарантирует, что код, зависящий от RVO или NRVO, работает одинаково при отладке и выпуске.

...