Как уменьшить размер собранного exe?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Как уменьшить размер собранного exe?

Сообщение PADOCTb » 23.10.2008 13:36:07

вот решил я испробовать lazarus. поизвращавшись собрал лабораторку, сделанную мною до этого на делфи. Делфи собрал exe меньше 400кб, а lazarus в 11.4мб. мне посоветовали ASPack и UPX. но и с ними размеры exe всё равно велики(от1.8мб). МОжно добиться лучшего сжатия? и можно ли как-то настроить lazarus/freepascal чтобы он сам exe делал меньше?
Аватара пользователя
PADOCTb
новенький
 
Сообщения: 10
Зарегистрирован: 23.10.2008 11:36:05
Откуда: Краснодар

Re: Как уменьшить размер собранного exe?

Сообщение Timid » 23.10.2008 13:52:07

Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Re: Как уменьшить размер собранного exe?

Сообщение Mr.Smart » 23.10.2008 14:03:29

сначало strip <filename>
а потом можно ещё upx <filename>
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Как уменьшить размер собранного exe?

Сообщение alexs » 23.10.2008 15:18:21

upx - особо смысла не имеет - если только не стоит цель в минимизации размера как самоцель.
Фалы из-под лазаря всегда будут однозначно больше, чем из под дельфи. И это уже на сайте необнократно разжовывалось. На мой взгляд - минимальный рзмер апликухы - не самый важный критерий :-). Надо чтобы оно работала как надо и правильно. А минимизация размера - это дело десятое.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Как уменьшить размер собранного exe?

Сообщение Mr.Smart » 23.10.2008 16:03:52

alexs писал(а):А минимизация размера - это дело десятое.

Вот вот они современные программисты!

640 КБ памяти должно хватать каждому. (c) Билл Гейтс
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Как уменьшить размер собранного exe?

Сообщение alexs » 23.10.2008 16:44:58

Mr.Smart писал(а):Вот вот они современные программисты!

:lol:
Когда размер исходников твоей программы переваливает за десятки метров, кол-во форм - более 200-300 - то размер FCL/LCL - это уже копейки. Я не спорю - что оно странно выглядит для программы из 1-й формы. Но много ли действительно важных таких программ?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Как уменьшить размер собранного exe?

Сообщение Mr.Smart » 23.10.2008 17:46:02

Хотелось бы всётаки, что бы по меньше было.
Как говорится мечтать не вредно.

Для пользователя выглядет странно, что программа имеющая одну форму и занимающаяся чтением/записью времени прибора по RS232/RS485/GSM CSD занимает более мегабайта! (Выходят какието масштабы Мелкософт :D )
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Как уменьшить размер собранного exe?

Сообщение alexs » 23.10.2008 18:55:08

плата за кросплатформенность.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Как уменьшить размер собранного exe?

Сообщение Slavikk » 24.10.2008 09:39:32

Пишите на API ОС используя асм и будет вам супер маленький размер. А хотите удобства - то придётся чем то жертвовать, например: размером :D .
Аватара пользователя
Slavikk
постоялец
 
Сообщения: 208
Зарегистрирован: 15.01.2007 22:34:52
Откуда: Из лесов...

Re: Как уменьшить размер собранного exe?

Сообщение Odyssey » 24.10.2008 21:06:24

Slavikk писал(а):Пишите на API ОС используя асм и будет вам супер маленький размер. А хотите удобства - то придётся чем то жертвовать, например: размером :D .

Ну зачем же на API ОС, есть ведь такая хорошая штука как fpGUI (уже второй раз рекламирую :))
http://opensoft.homeip.net/fpgui/index.html
Набор контролов пока маловат, зато strip-нутые helloworld'ы по размерам приближаются к своим собратьям написанным на Delphi.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Как уменьшить размер собранного exe?

Сообщение Mr.Smart » 25.10.2008 00:37:03

Odyssey писал(а):
Slavikk писал(а):Пишите на API ОС используя асм и будет вам супер маленький размер. А хотите удобства - то придётся чем то жертвовать, например: размером :D .

Ну зачем же на API ОС, есть ведь такая хорошая штука как fpGUI (уже второй раз рекламирую :))
http://opensoft.homeip.net/fpgui/index.html
Набор контролов пока маловат, зато strip-нутые helloworld'ы по размерам приближаются к своим собратьям написанным на Delphi.

Ну незнаю. Мне не удалось собрать под эти виджеты:(
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Как уменьшить размер собранного exe?

Сообщение Odyssey » 25.10.2008 12:51:07

Mr.Smart писал(а):Ну незнаю. Мне не удалось собрать под эти виджеты:(

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

Зато можно взять текущую svn-версию fpGUI и посмотреть примеры (они от Lazarus и LCL не зависят, могут компилироваться FPC из командной строки, а могут и из Lazarus). Если писать под "чистый" fpGUI, используя Lazarus только как IDE, будут доступны все существующие fpGUI-компоненты, плюс малый размер исполняемых модулей. Еще из плюсов - одинаковый внешний вид на всех платформах, и минимальные внешние зависимости (под Linux - Xorg, xft, libc, никаких GTK). Из минусов - пока маловат функционал, некоторые компоненты (Memo, MainMenu) работают не так хорошо как хотелось бы. Но при этом - близкие к VCL/LCL интерфейсы классов, читабельные исходники и дружелюбный автор (Graeme Geldenhuys). Если есть вопросы - можете писать в англоязычный список рассылки (указан на сайте fpGUI), на этот форум (естественно), или мне в личку.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Как уменьшить размер собранного exe?

Сообщение Brainenjii » 25.10.2008 15:56:33

А одиннаковый вид на всех платформах - он такой же, как на скринах, или симпатишней, всё-таки? ^_^
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Как уменьшить размер собранного exe?

Сообщение Odyssey » 25.10.2008 16:28:11

Дефолтный вид - да, такой же как на скринах, т.е. Windows Classic с незначительными улучшениями. В комплекте есть пример стилизации кнопок (скриншот см. во вложении).

Поддержка тем оформления планируется после нового релиза, т.е. полного, продуманного и неизменного API для тем пока нет. Зато есть класс, занимающийся отрисовкой виджетов + набор картинок для других виджетов (типа CheckBox и RadioButton). При желании/необходимости отрисовку виджетов можно поменять централизованно через этот класс и сменить картинки.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Как уменьшить размер собранного exe?

Сообщение GrayEddy » 25.10.2008 21:54:23

Выскажу мнение.
Я смотрел на прошлой неделе свежий транк. Порадовали подвижки - за три месяца большой сдвиг вперёд, многие примеры - работоспособные.
Исходники - да, легко читать. Многие контролы, в отличие, от MSE, ближе к оригинальному воспроизведению. Но у MSE функционал побогаче.
Кстати, при первом знакомстве был поражён сходством дизайнера с дизайнером от проекта LPTK, почившего в бозе. Потом прочитал - так и есть, базируется на LPTK, частично, думаю, на MSE (автор часто бывает на форуме MSE).
Что значит "дружелюбный автор"? Не кусается? :)
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41

Рейтинг@Mail.ru