2009-02-11 4 views
4

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

ответ

5

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

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

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

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

0

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

3

Насколько велика ваша DLL релиза, чем ваша Debug DLL?

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

+0

Как узнать, если я компиляции отладки символы в релизе dll? – Martin

+1

Проверьте настройки вашего проекта 'для конфигурации сборки релиза. Если у вас есть DLL-файл, вы можете использовать 'dumpbin/symbols', чтобы увидеть, встроены ли отладочные символы. См. Http://support.microsoft.com/kb/177429 –

1

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

Смежные вопросы