Почему генерация файлов pdb увеличивает размер моего собственного C ++ exe? - PullRequest
8 голосов
/ 11 июля 2011

Просто включив Свойства конфигурации> Linker> Debugging> Generate Debug Info размер моего exe увеличился с 2,11 МБ до 2,34 МБ

  1. Что такоечто за дополнительные ~ 230 КБ?Я думал, что исполняемый файл должен быть примерно того же размера (дать или взять дополнительный путь к файлу pdb), но не так много.Будет ли какой-нибудь удар по производительности от этого «раздувания»?

  2. Я также видел Свойства конфигурации> C / C ++> Общие> Формат отладочной информации установлен на отключенв режиме выпуска, в то время как файлы pdb настроены для генерации, есть ли причина, почему это будет?Из того, что я могу сказать, исполняемый файл имеет тот же размер - это просто PDB, который увеличивается при включении базы данных программы, я не вижу проблемы с этим, но я хочу убедиться, что нет какой-то части, которую яотсутствует, учитывая, что база данных программ используется по умолчанию для новых проектов в конфигурации выпуска.

Ответы [ 3 ]

4 голосов
/ 11 июля 2011

Увеличение размера исполняемого файла, вероятно, связано с компилятором, включающим код, который в противном случае был бы оптимизирован. Попробуйте связать с / OPT: REF , и посмотрите, уменьшится ли размер обратно до того, что было.

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

0 голосов
/ 11 июля 2011

Не только путь к файлу PDB, но и «Отладка» в заголовке образа исполняемого файла, внутренний GUID для обеспечения загрузки правильного файла PDB во время отладки / аварийной отладки.

0 голосов
/ 11 июля 2011

Размер EXE, скорее всего, не имеет отношения к производительности.

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