Размер DLL (отладка и выпуск) - PullRequest
4 голосов
/ 11 февраля 2009

В других обсуждениях я читал, что DLL-библиотеки выпуска имеют уменьшенный размер по сравнению с DLL-файлами отладки. Но почему размер dll, который я сделал, наоборот: dll выпуска больше dll отладки. Это вызовет проблемы?

Ответы [ 4 ]

5 голосов
/ 11 февраля 2009

Это не вызовет проблем, возможно, компилятор «встраивает» больше элементов в сборку релиза и создает больший код. Все зависит от самого кода.

Не о чем беспокоиться.

EDIT: Если вы действительно беспокоитесь и не беспокоитесь о скорости, вы можете включить оптимизацию по размеру. Или отключите автоматическое встраивание и посмотрите, какая разница.

EDIT: Более подробную информацию, вы можете использовать dumpbin /headers, чтобы увидеть, где DLL становится больше

3 голосов
/ 17 февраля 2009

Насколько больше ваша Release DLL, чем ваша Debug DLL?

Ваши библиотеки отладки могут показаться маленькими, если вы генерируете файлы символов PDB (поэтому символ отладки на самом деле не в файле DLL). Или, если вы непреднамеренно компилируете символы отладки в свою Release DLL.

1 голос
/ 17 февраля 2009

Это может быть вызвано оптимизацией производительности, такой как развертывание цикла - если она существенно отличается, проверьте настройки компоновщика Release, чтобы убедиться, что вы ничего не статически компилируете.

0 голосов
/ 11 февраля 2009

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

...