Delphi приложений станет меньше в будущем - PullRequest
2 голосов
/ 30 октября 2010

размер файла delphi win32 exe составляет ~ 850 кб, есть ли у них план по уменьшению размера файла exe (я знаю, что это размер из-за RTL-кода Unicode vcl и многих других), delphi компилирует весь блок, даже необходима небольшая функция в устройстве. так есть ли какие-то средства для этого, или есть продукты сторонних производителей (я знаю, что kol и mck делают то же самое)

Ответы [ 5 ]

11 голосов
/ 30 октября 2010

Я сомневаюсь, что размер исполняемого файла является большой проблемой для команды Delphi, или даже для большинства пользователей.Как вы заметили, Unicode и новый RTTI увеличивают размер, и хотя вы можете включить новый RTTI, на самом деле вы ничего не можете с этим поделать.

В общем, каждая новая версия Delphi создавала более крупные exe, я неэта тенденция не меняется.

Что касается неправильной компиляции целых модулей, если вы не скомпилируете пакеты, компилятор не будет содержать неиспользуемые методы и объявления.

Если важен размер exeу тебя нет большого выбора.Если вам не нужен юникод и другие новые функции, тогда можно использовать D2007, D7 или даже D2.

Вы можете использовать упаковщики exe, такие как UPX.

Если вы создаете наборприложения, которые вы можете уменьшить общий размер с помощью общих пакетов.

Также проверьте эти:

2 голосов
/ 30 октября 2010

Я не уверен, что kol и mck имеют отношение к вашему вопросу о размере .EXE.

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

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

- jeroen

0 голосов
/ 30 октября 2010

Полагаю, что часто задаваемые вопросы о Free Pascal относятся и к Delphi:

http://wiki.freepascal.org/Size_Matters

0 голосов
/ 30 октября 2010

Путь к тому, чтобы быть бывшими, в будущем станет больше.Размер приложения стал намного менее важным, поскольку размеры дисков, пропускная способность и объем памяти редко становятся проблемой в мире Windows.Всегда был компромисс между размером exe и оптимизацией exe (некоторые методы оптимизации могут сделать exe больше), и 64-битный исполняемый файл, вероятно, будет несколько больше.Кроме того, улучшения языка могут потребовать сохранения большего количества данных о самом коде (то есть информации RTTI).Существуют методы, позволяющие сохранить размер исполняемого файла небольшим, но обычно они требуют обхода большинства функций и библиотек Delphi OOP и RAD.Если у вас нет особых потребностей, редко возникает проблема с размером exe-файла (хотя я понимаю, что некоторые части мировой пропускной способности все еще имеют значение, и, возможно, дисковое пространство тоже).

В любом случае AFAIK это не настоящий компоновщик Delphiимпортирует весь блок.Неиспользованные звонки будут удалены, хотя не все, что вы хотели бы быть.Dcu будет скомпилирован как единое целое, но только необходимый код будет перемещен в скомпилированный исполняемый файл.Что-то может зависеть от ваших параметров компиляции.Вы активировали опцию оптимизации?

0 голосов
/ 30 октября 2010

Вы, конечно, не должны ожидать, что размер исполняемого файла для будущих 64-разрядных версий Delphi будет меньше, чем текущие 32-разрядные исполняемые файлы Delphi.

Напротив: указатели и типы размером с указатель будут удваиваться в размере, а другие структуры данных могут увеличиваться в размере из-за заполнения (для соответствия требованиям выравнивания). Все это скомпилировано в исполняемый файл, поэтому его размер будет увеличиваться.

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