Здравствуйте, dmitry_npi, Вы писали:
_>Запуск по F5 и из проводника отличается двумя вещами — текущим каталогом по умолчанию и наличием отладчика. _>Проверьте, как поведение программы зависит от текущего каталога. Может ли ваша программа обнаруживать отладчик и изменять поведение?
Ну и предпоследнее — разная временная диаграмма.
В жестоко многопоточных приложениях можно наблюдать разные чудеса. Например, голодания.
Отладчик вносит толику торможения в систему, и эта толика может существенно сдвинуть временную диаграмму.
Ну и пред-предпоследнее. Релизная сборка с отладочным выводом.
Без отладчика работает, как обычно. Под отладчиком возникают небольшие тормоза. И см.выше.
Ну и пред-пред-предпоследнее. Аппаратные исключения (SEH), которые зачем-то обрабатываются программой, вместо того, чтобы let it crash. Отладчик, разумеется, реагирует нервно.
Почему АИ возникают в релизе, а не в дебаге — причин множество, сами знаете.
_>Ну и последнее, конечно, — баг компилятора. Хотя тогда скорость не должна зависеть от способа запуска.
"Оптимизация скорости" (/O2) у VC — стрёмная вещь. Может быть, действительно, какой-нибудь баг кодогенератора прокрался.
TODO: посмотреть в настройках проекта, и вместо /O2 поставить /Ox.