Как оптимизировать DLL отладки, чтобы минимизировать проверки отладки в VC6? - PullRequest
0 голосов
/ 16 марта 2012

Я был назначен на большой устаревший проект, который может быть развернут только в отладочной версии по различным историческим (и глупым) причинам. Как и следовало ожидать, есть некоторые проблемы с производительностью.

Проект написан на C , Visual Studio 6 (да, это старое). Я ищу способы минимизировать влияние «все в отладочной версии». Существуют ли какие-либо параметры компилятора или компоновщика, которые минимизировали бы количество кода отладки, введенного в окончательный двоичный файл? Или есть внешняя утилита, которая может удалить ее позже?

(Я знаю, что это в основном глупый вопрос, и что мы должны перейти к освобождению, но поверьте мне, это полностью вне моего контроля ... и это убивает часть моей души практически каждый день.)

1 Ответ

2 голосов
/ 16 марта 2012

Прежде всего, вы должны перечислить все различия между версиями отладки и выпуска и попытаться определить, что вы можете изменить, а что нет. Тогда просто поменяйте все, что вам разрешено.

Если мне не изменяет память, если мне не изменяет память:

  • Отладка : связь с отладочными DLL. Release : связь с DLL-файлами выпуска.
  • Отладка : компилировать без какой-либо оптимизации. Release : компилировать со всеми оптимизациями.
  • Отладка : компилировать с утверждениями (-D_DEBUG). Release : компилировать без утверждений (-DNDEBUG).
  • Debug : компилировать / связывать с символами отладки. Release : компилировать / связывать без отладочных символов (не влияет на производительность).
  • Любые произвольные изменения, внесенные первоначальными разработчиками в конфигурацию проекта.

Из всего этого только первые два должны действительно иметь значение. DLL, потому что вы зависите от отладочной DLL по какой-то (глупой) причине. И второе, потому что оптимизация может привести к тому, что в программе появятся незначительные ошибки.

...