Невозможно наблюдать значения переменных в Visual Studio с оптимизацией компилятора, установленной на Максимизация скорости - PullRequest
1 голос
/ 27 августа 2010

Я использую работу над приложением c ++ в Visual Studio 2008. Я создал свой проект с максимальной скоростью (/ o2) (из Свойства -> Свойства конфигурации -> c / c ++ -> Оптимизация -> Оптимизация).значения переменных при отладке кода.Просьба помочь.

Ответы [ 2 ]

6 голосов
/ 27 августа 2010

Это нормально. Как только вы активируете оптимизацию, компилятор в значительной степени игнорирует все ваши запросы переменных и пытается сделать то, что он считает лучшим.

Существует причина, по которой в отладочных сборках не включена оптимизация:)

Редактировать: Возможно, вам повезет с включением или отключением оптимизации для определенных фрагментов кода. Попробуйте эту ссылку: http://msdn.microsoft.com/en-us/library/chh3fb0k(VS.80).aspx

2 голосов
/ 28 августа 2010

Иногда прибегая к «виду дизассемблирования» кода C ++ и переходя к оптимизированному выпуску x86, вы получаете представление о том, что происходит. Обратите особое внимание на вызовы функций (много раз те, которые не могут быть оптимизированы), и кодируйте вокруг этих вызовов - до и после, и регистрируйте использование (много раз переменные оптимизируются в аппаратные регистры).

Независимо от того, работает это или нет, вы немного узнаете о сборке x86, оптимизации компилятора и о том, как на самом деле реализован C ++!

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