Отладочная информация {$ D +} увеличивает размер моего EXE-файла на 6 МБ - PullRequest
5 голосов
/ 07 июня 2011

В документации Delphi говорится, что «информация отладки [...] не влияет на размер или скорость исполняемой программы».

Однако, когда я активирую информацию отладки (в Параметры проекта -> Компоновщик)мой EXE идет от 1,8 МБ до 7 МБ.Что я делаю не так?


Примечание. Я полагаю, что «Отладочная информация» в разделе «Связывание» совпадает с «Отладочной информацией» в разделе «Компиляция», поскольку они имеют одну и ту же директиву компилятора ($ D}).

Ответы [ 2 ]

15 голосов
/ 07 июня 2011

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

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

4 голосов
/ 07 июня 2011

Добавление отладочной информации не повлияет на размер кода (сгенерированный код совпадает с включенной или выключенной опцией, другие параметры управляют генерацией кода), но повлияет на файл размер.

...