Могу ли я оптимизировать фрагмент кода как выпуск в режиме отладки? - PullRequest
0 голосов
/ 29 мая 2009

Я использую MSVC ++ 2005 x64. Некоторые коды работают некорректно в режиме оптимизации выпуска. Итак, я хочу сделать тест для этого кода. Проблема в том, что мой тестовый код запускается только в режиме отладки. (Я не хочу смешивать тестовый код в коде продукта.)

Итак, можно ли объявить некоторую часть кода для компиляции в режиме оптимизации выпуска в отладочной сборке? Например, например, __asm ​​... или что-то ... __build_start (Release) int x = 0; .. сделай что-нибудь .. __build_end (Release)

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 29 мая 2009

Вы можете сделать это на уровне файлов, если это поможет. Щелкните правой кнопкой мыши файл в обозревателе решений -> свойства -> c ++ -> оптимизация, затем установите уровень оптимизации для этого файла.

0 голосов
/ 29 мая 2009

Моим первым подозреваемым будет не оптимизатор, а отладка с побочными эффектами . Остерегайтесь таких вещей, как:


assert( ++i ); // assertions with actions
print_debug( "foo = %d", get_foo()); // function calls that are compiled out
#if _DEBUG
#   speed += 10; // kludges
#else
#   speed += 1000;
#endif
0 голосов
/ 29 мая 2009

«Оптимизация выпуска» в Visual Studio не так проста, как кажется. Вот (возможно, неполный) список вариантов оптимизации VS. Их довольно много, поэтому, надеюсь, вы найдете здесь то, что вам нужно.

http://www -01.ibm.com / поддержка / docview.wss? Нас = 993 & UID = swg21265414

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...