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

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

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

Аватара пользователя
PADOCTb
новенький
Сообщения: 10
Зарегистрирован: 23.10.2008 11:36:05
Откуда: Краснодар

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

Сообщение PADOCTb »

вот решил я испробовать lazarus. поизвращавшись собрал лабораторку, сделанную мною до этого на делфи. Делфи собрал exe меньше 400кб, а lazarus в 11.4мб. мне посоветовали ASPack и UPX. но и с ними размеры exe всё равно велики(от1.8мб). МОжно добиться лучшего сжатия? и можно ли как-то настроить lazarus/freepascal чтобы он сам exe делал меньше?
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

сначало strip <filename>
а потом можно ещё upx <filename>
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

upx - особо смысла не имеет - если только не стоит цель в минимизации размера как самоцель.
Фалы из-под лазаря всегда будут однозначно больше, чем из под дельфи. И это уже на сайте необнократно разжовывалось. На мой взгляд - минимальный рзмер апликухы - не самый важный критерий :-). Надо чтобы оно работала как надо и правильно. А минимизация размера - это дело десятое.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

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

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

640 КБ памяти должно хватать каждому. (c) Билл Гейтс
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

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

:lol:
Когда размер исходников твоей программы переваливает за десятки метров, кол-во форм - более 200-300 - то размер FCL/LCL - это уже копейки. Я не спорю - что оно странно выглядит для программы из 1-й формы. Но много ли действительно важных таких программ?
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

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

Для пользователя выглядет странно, что программа имеющая одну форму и занимающаяся чтением/записью времени прибора по RS232/RS485/GSM CSD занимает более мегабайта! (Выходят какието масштабы Мелкософт :D )
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

плата за кросплатформенность.
Аватара пользователя
Slavikk
постоялец
Сообщения: 208
Зарегистрирован: 15.01.2007 21:34:52
Откуда: Из лесов...
Контактная информация:

Сообщение Slavikk »

Пишите на API ОС используя асм и будет вам супер маленький размер. А хотите удобства - то придётся чем то жертвовать, например: размером :D .
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

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

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

Сообщение Mr.Smart »

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

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

Ну незнаю. Мне не удалось собрать под эти виджеты:(
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

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), на этот форум (естественно), или мне в личку.
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

А одиннаковый вид на всех платформах - он такой же, как на скринах, или симпатишней, всё-таки? ^_^
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

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

Поддержка тем оформления планируется после нового релиза, т.е. полного, продуманного и неизменного API для тем пока нет. Зато есть класс, занимающийся отрисовкой виджетов + набор картинок для других виджетов (типа CheckBox и RadioButton). При желании/необходимости отрисовку виджетов можно поменять централизованно через этот класс и сменить картинки.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
GrayEddy
постоялец
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Сообщение GrayEddy »

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