Delphi: .exe со встроенными пакетами: 600 КБ, .exe + внешний BPLs: 6 МБ. Почему это?

Во-первых: сценарии Interop или когда необходимо указать расположение памяти

111-секундный: Когда данные являются почти тем же размером как ссылочный указатель так или иначе.

9
задан migajek 21 August 2009 в 14:02
поделиться

2 ответа

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

14
ответ дан 4 December 2019 в 11:43
поделиться

Я думаю, вы предполагаете, что все файлы BPL связаны, когда вы создаете программа со встроенными BPL. Это не относится к делу. На заключительном этапе компиляции компилятор Delphi связывает все вместе. Здесь опускаются модули, которые находятся в BPL, но не вызываются прямо или косвенно вашей программой.

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

4
ответ дан 4 December 2019 в 11:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: