Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как у меньшить размер приложения?


Автор: =Bik= 5.2.2004, 14:57
Не знаю почему, но даже с одной кнопкой, ЕХЕ-файл весит около 300 кб!

Автор: x77 5.2.2004, 15:00
=Bik=, ну и что? пусть себе весит. уменьшить можно, но для современных компов это практически не важно. если не заниматься экстримом, конечно.

можно уменьшить, полностью отказавшись от использования VCL.

Автор: Гость_Leo 5.2.2004, 15:15
Советую использовать KOL - библиотеки (http://bonanzas.rinet.ru) и полностью отказатся от VCL

Автор: Serggggg 5.2.2004, 15:17
Попробуй методом тыка поубирать (по одному) модули (в uses), используемые программой. Но хорошо подумай, что ты хочешь от самой программы. Например юнит Dialogs тебе не нужен, если ты не собираешься делать разные ShowMessage. Ну и так далее. Размер exe зависит не только от самого программного кода, но и от размера компонентов, и от количества (и размеров) подключаемых модулей! Именно поэтому лично я юзаю в своих программах DLL - они не влияют на размер exe-файла.

Автор: Unregistered 5.2.2004, 16:13
Можно отключить дебаг информацию.......а вообще возми любой просмоторщик ресурсов и погляди что у тя в ехе воляется....обнаружишь кучу картиночек, иконочек и еще гору всякого добра....)))

Автор: P@dla 5.2.2004, 16:16
А еще есть такая штука - называется upx! Ну очень хорошо жмет ЕХЕ и DLL файлы...

Взять мона тут: http://upx.sourceforge.net

Автор: Serggggg 5.2.2004, 16:41
P@dla, а будет ли сжатый файл нормально работать? Код не попортится? Некоторые сжималки, я знаю, убивают программу.

Автор: P@dla 6.2.2004, 15:05
Цитата(Serggggg @ 5.2.2004, 16:41)
P@dla, а будет ли сжатый файл нормально работать? Код не попортится? Некоторые сжималки, я знаю, убивают программу.

Оно будет нормально работать и код не попортится! Ты же запускаешь файлы которые были сжаты РАРом? Это практически тоже самое, только файл сжат постоянно, а в его начало записан распаковщик, который при запуске распаковывает этот файл уже в оперативку....

Автор: NiJazz 6.2.2004, 16:01
Цитата
Попробуй методом тыка поубирать (по одному) модули (в uses), используемые программой

Это не поможет. Delphi пихает в модуль только нужные библиотеки.

Автор: Serggggg 6.2.2004, 17:36
Не всегда. Например, когда автоматом создаёшь DLL, то там по умолчанию есть только 4 юнита. Я, например, сам потом добавляю Dialogs, OleObj, DBGrids и т.д. При создании нового Application согласен - Делфя пихает юнитов на все (на часто используемые) случаи жизни. Хотя спорить не стану - это всего лишь мои наблюдения.

Автор: StayAtHome 7.2.2004, 03:12
Делфи пихает по большему счету только нужные модули, но вот удалять их, когда ты передумал и удаляешь компонент из формы -- почему-то забывает.
Можно обойтись без Dialogs -- для вывода простых сообщений API функции MessageBox хватает на все случаи жизни. Обрубать Graphics, Variants -- еще пару килобайт. Если консольное прилодение -- можно обойтись только модулем Windows -- получится около 18 КБ. Если добавить SysUtils -- уже около 35 кб.

NB! Есть неплохой анализатор кода: Peganza Pascal Analyzer/ Правда он шароварный и англоязычный. Но все равно -- скачай, попробуй.

Автор: Cheba 7.2.2004, 11:10
Цитата
Если консольное прилодение -- можно обойтись только модулем Windows -- получится около 18 КБ. Если добавить SysUtils -- уже около 35 кб.
Вот-вот. А говорили, что компилер кидает в екзешник только те функции, которые используются. hmmm.gif confused.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)