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

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

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

Ответить
vstem
новенький
Сообщения: 22
Зарегистрирован: 16.05.2005 15:27:06
Откуда: Minsk, Belarus
Контактная информация:

Сообщение vstem »

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

Единственное "но" - не получается с такими опциями собрать сам Lazarus - может поможете?
Аватара пользователя
STAKANOV
энтузиаст
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV »

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

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

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

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

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

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

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

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

---
Дополнительно добавлю - есть какие-то проблемы с гнушным линкером, поэтому сейчас ведется разработка внутреннего линкера для fpc, на днях об этом упоминалось в мейл-листе
Sniper
постоялец
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Sniper »

Ещё раз повторяю: (самый последний пост на странице)
<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 не надо
vstem
новенький
Сообщения: 22
Зарегистрирован: 16.05.2005 15:27:06
Откуда: Minsk, Belarus
Контактная информация:

Сообщение vstem »

Sniper
Спасибо за совет, на системе Athlon64 3.4, 1024Mb RAM у меня выдало сообщение о невозможности запуска линкера...
Система Slackware 10.2 - "make clean all" работает как часы...
Sniper
постоялец
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Sniper »

не знаю как под Linux'ом а под Виндой всё в порядке
SergKam
постоялец
Сообщения: 251
Зарегистрирован: 16.11.2005 20:31:11
Откуда: Украина,Харьков

Сообщение SergKam »

пробовал сегодня перекомпилить со смарт линком лазарус.
У меня селерон1Ггц256Мб сделал ему своп нв 2Гига.
Пол дня он компилил виртуалки полтора гига сожрал, мне это надоело.
Надо оперативки поболее, эдак под гиг.
кстати не обязательно весь лазарус смарт линковать, можно просто зайли в директорию lcl и там выполнить make smart (ну и в компонентах,если нужны).
А потом свои уже со смарт линком компилить, но все равно 512мб не меньше надо
Guest

Сообщение Guest »

Я компилил весь лазарус make smart под Linux с гигом оперативы и Celeron D 2.8. GHz, своп делал 2 гига вроде. Компилился приерно 20 мин.
SovNarKom
постоялец
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]
Контактная информация:

Сообщение SovNarKom »

Ребят, а зачем вообще сам лазарь со смартлинком собирать?
Например, если компилятору напрямую передать пути к 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...
SergKam
постоялец
Сообщения: 251
Зарегистрирован: 16.11.2005 20:31:11
Откуда: Украина,Харьков

Сообщение SergKam »

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

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

с 256М даже моя простая прога со смарт линком полдня компилилась, тут чтото не так
линкер надо фтопку. :angry:
Ответить