Уменьшение исполняемого файла в Lazarus (FPC)

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

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

Сообщение vstem » 09.03.2006 19:47:01

Многие ругают компилятор за "тучность" генерируемого исполняемого файла...
Порывшись в 'man fpc' и настройках Lazarus, это как кому удобно, сделал приятное открытие.
Включение опций -Cx и -XsX для fpc уменьшает размер простого GTK2 (только форма) приложения с 416 килобайт до 65, аналогичные опции (в диалоге настроек компилятора в Lazarus) а также отключение добавления Debug Info делают из 6-ти мегабайтной формы файл размером 1,2 мегабайта, что с учетом UPX (500 кб после сжатия) весьма приемлимо...
Насколько я понимаю такой подход реально включает смартлинк...

Единственное "но" - не получается с такими опциями собрать сам Lazarus - может поможете?
vstem
новенький
 
Сообщения: 22
Зарегистрирован: 16.05.2005 15:27:06
Откуда: Minsk, Belarus

Сообщение STAKANOV » 09.03.2006 21:31:41

Вроде все это в <a href='http://freepascal.ru/article//freepascal/20050520001454/' target='_blank'>FAQ</a> написано.

Единственное "но" - не получается с такими опциями собрать сам Lazarus - может поможете?

на старую ветку отсылать не буду - лень искать

чтобы это попытаться сделать надо в fpc.cfg добавить -CX -XX
дальше собирать lazarus как обычно (точнее из командной строки)

если не получается, то нехватает памяти, предположительно нужно от 512Mb-1024Mb

здесь есть люди у которых получилось, у меня нет

увличение свопа (файла подкачки) не факт, что поможет

а вот эффект говрят действительно ощутимый

---
Дополнительно добавлю - есть какие-то проблемы с гнушным линкером, поэтому сейчас ведется разработка внутреннего линкера для fpc, на днях об этом упоминалось в мейл-листе
Аватара пользователя
STAKANOV
постоялец
 
Сообщения: 179
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение Sniper » 09.03.2006 22:48:33

Ещё раз повторяю: (самый последний пост на странице)
<a href='http://freepascal.ru/forum/index.php?showtopic=671&st=0' target='_blank'>http://freepascal.ru/forum/index.php?showtopic=671&st=0</a>

Попрошу читать каждую строчку вдумчиво и сделать так как написано.
Заметте что править fpc.cfg не надо
Sniper
постоялец
 
Сообщения: 468
Зарегистрирован: 28.05.2005 13:02:42

Сообщение vstem » 10.03.2006 19:31:00

Sniper
Спасибо за совет, на системе Athlon64 3.4, 1024Mb RAM у меня выдало сообщение о невозможности запуска линкера...
Система Slackware 10.2 - "make clean all" работает как часы...
vstem
новенький
 
Сообщения: 22
Зарегистрирован: 16.05.2005 15:27:06
Откуда: Minsk, Belarus

Сообщение Sniper » 11.03.2006 01:53:09

не знаю как под Linux'ом а под Виндой всё в порядке
Sniper
постоялец
 
Сообщения: 468
Зарегистрирован: 28.05.2005 13:02:42

Сообщение SergKam » 11.03.2006 03:35:21

пробовал сегодня перекомпилить со смарт линком лазарус.
У меня селерон1Ггц256Мб сделал ему своп нв 2Гига.
Пол дня он компилил виртуалки полтора гига сожрал, мне это надоело.
Надо оперативки поболее, эдак под гиг.
кстати не обязательно весь лазарус смарт линковать, можно просто зайли в директорию lcl и там выполнить make smart (ну и в компонентах,если нужны).
А потом свои уже со смарт линком компилить, но все равно 512мб не меньше надо
SergKam
постоялец
 
Сообщения: 251
Зарегистрирован: 16.11.2005 21:31:11
Откуда: Украина,Харьков

Сообщение Guest » 11.03.2006 15:53:36

Я компилил весь лазарус make smart под Linux с гигом оперативы и Celeron D 2.8. GHz, своп делал 2 гига вроде. Компилился приерно 20 мин.
Guest
 

Сообщение SovNarKom » 13.03.2006 18:35:21

Ребят, а зачем вообще сам лазарь со смартлинком собирать?
Например, если компилятору напрямую передать пути к LCL,
-FuC:\Lazarus0911\lcl\
-FuC:\Lazarus0911\lcl\interfaces\win32\
-FuC:\Lazarus0911\lcl\widgetset\
-FiC:\Lazarus0911\lcl\include\

и включить -CX -Xs -XX, то все используемые модули будут пересобраны со смартлинком... и даже без стрипа прога весит меньше 1 Mb...

Вообще говоря, я буду счастлив, если БЕЗ фальшивого UPX-а, пустая LCL прога будет весить не более 400 Kb...
SovNarKom
постоялец
 
Сообщения: 390
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение SergKam » 14.03.2006 03:02:51

>Ребят, а зачем вообще сам лазарь со смартлинком собирать?

чтоб сам лазарь стройнее и веселее был? :)

с 256М даже моя простая прога со смарт линком полдня компилилась, тут чтото не так
линкер надо фтопку. :angry:
SergKam
постоялец
 
Сообщения: 251
Зарегистрирован: 16.11.2005 21:31:11
Откуда: Украина,Харьков


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Google Adsense [Bot] и гости: 6

Рейтинг@Mail.ru