Конференция "FreePascal" » Жирные exe-шники с использованием Lazarus
 
  • Alexey_k © (11.09.07 16:29) [0]
    Попробовал откомпилировать пример (папка examples) - address_book, а он мне родил файло размером 8,9 МБ =) Покопавшись в настройках мне удалось снизить размер до 2 Мб, но это всё-равно много, т.к. похожее приложение на Delphi весит около 800 Кб, а с использованием KOL - вообще <100 Кб. Так вот вопрос, кто виноват в раздувании - среда Lazarus, либо сам компилятор Free Pascal и можно-ли довести рамер рожаемых файлов хотябы до размеров компиллимых в Delphi..

    Зарание спасибо.
  • Alexey_k © (11.09.07 16:58) [1]
    порыл в дизассемблере этот эгзешнег

    просто - (_|_)

    тонны лишнего кода (дельфи отдыхаед), причем ещё вот чё нарыл:

    http://slil.ru/24841845 - скриншот списка строк

    и такого там полно, это что, прикол такой от разработчиков, как больше ексешник захломить?? =(

    Вообщем если виноват лазарь (скорее так, т.к. FreePascal - просто компиллер), то фтопку его, лучше ужо TurboDelphi юзать, а если нет, то подскажите как от всего этого избавится (от раздувания выходного файла) в лазаре...
  • Мистер Т (11.09.07 18:05) [2]
    Это старая "проблема". Решения пока нет и, если память не подводит, не будет до выхода финальной версии с номером 1.0
    Но вот тут могу ошибаться, т.к. не слежу за проектом постоянно.
    Под FPC минимальная программа (окно с обработкой сообщений) у меня получилась около 10 кб.

    З.Ы. KOL портирован под FPC !
  • Alexey_K © (11.09.07 23:10) [3]
    Печально, хотя и вещь, довольно-таки, удабная, это раздувательство - немного напрягает, а вот в турбо (бесплатном) напрягает запрет на установку новых компонент (хотя если они не визуальные, то это не страшно). А мне проект надо делать, сначала писал на Delphi 7, но потом передумал (вопрос об авторских правах и т.п. тож сильно напряг), вот я пробую, ищу бесплатную и качественную альтернативу...
  • amateur (12.09.07 14:32) [4]
    Привет...
    "Покопавшись в настройках мне удалось снизить размер до 2 Мб" - мне интересно: какие именно пункты и какие параметры? А то я размер стипом и упиксом уменьшал...
  • Magedon © (20.09.07 12:58) [5]
    Здравствуйте.
    Есть такой сайт http://www.freepascal.ru

    А в этом сайте есть раздел статей http://www.freepascal.ru/article/

    А в разделе статей есть раздел Лазаря http://www.freepascal.ru/article//lazarus/

    А в разделе Лазаря есть немного статей, вот например одна http://www.freepascal.ru/article//lazarus/20050502000000/

    А вот еще одна цитата из этой одной статьи :)

    >
    > Уменьшение размера exe-файла
    >
    > Когда я впервые взглянул на размер исполняемого файла, скомпилированного
    > с помощью Lazarus, то был немало удивлён его исполинским
    > размером. Это было давно, однако в текущей версии проблема
    > только усугубилась. Проект из пары не слишком сложных форм
    > с сотней-другой строк кода приводит к генерации исполняемого
    > файла, размер которого превышает 6 Мб.
    >
    > В общем-то, в процессе работы над проектом это не слишком
    > напрягает, но когда надо продемонстрировать результат заказчику,
    >  могут возникнуть осложнения. Если это огромная система
    > с десятками форм и мегабайтами кода, то несколько завышенный
    > размер приложения только придаст ему значительности. Иначе,
    >  сами понимаете, в Вашей компетентности могут усомниться.
    >
    >
    > Бороться с этим совсем не сложно. В комплекте с компилятором
    > имеется набор разных замечательных утилит. Среди них есть
    > две, специально предназначенные для нашего случая. Это strip
    > и upx. Первая из них удаляет из файла программы всю лишнюю
    > информацию, вторая - подвергает файл компрессии. Для простоты
    > применения скопируем обе утилиты в каталог с нашим раздутым
    > exe-файлом. Этого можно не делать, если путь к исполняемым
    > файлам компилятора Вы поместили в переменную окружения PATH
    > (что я очень рекомендую проделать). Теперь запустим их в
    > DOS-окне последовательно, указав имя файла в качестве параметра:
    >
    >
    > strip myhuge.exe
    >
    > upx myhuge.exe
    >
    > Совсем уж ленивые могут проделать тоже самое в проводнике
    > Windows с помощью drag-and-drop'а. Вообще говоря, у обеих
    > утилит есть различные параметры запуска, но и по-умолчанию
    > они справляются с задачей на отлично, уменьшая размер примерно
    > в 3 раза каждая. Мой тестовый проект "похудел" с 6 Мб до
    > 470 кб. Сам Lazarus можно сократить таким путём с примерно
    > 20 Мб до менее чем двух.
    >
    > Только не забывайте, что в Windows программа , обработанная
    > upx, будет загружена в память дважды: в упакованном состоянии
    > и в распакованном, рабочем состоянии.


    Просмотрите, когда будет время и желание, все статьи на этом сайте. Это, возможно, предупредит некоторые вопросы, которые возникнут у вас в будущем.

    Успехов :)
  • Magedon © (20.09.07 13:03) [6]

    > amateur   (12.09.07 14:32) [4]
    >
    > Привет...
    > "Покопавшись в настройках мне удалось снизить размер до
    > 2 Мб" - мне интересно: какие именно пункты и какие параметры?
    >  А то я размер стипом и упиксом уменьшал...
    >


    И я бы хотел знать какие именно пунктики крутили

    Спасибо :)
  • Cepreu (01.10.07 16:52) [7]
    Проект/Опции компилятора/Связывание
    убери галочку напротив Выдавать номера строк в ошибкак времени ....
  • amateur (03.10.07 09:43) [8]
    Ух ты, спасибо...
  • имя (26.01.09 23:02) [9]
    Удалено модератором
 
Конференция "FreePascal" » Жирные exe-шники с использованием Lazarus
Есть новые Нет новых   [134427   +37][b:0][p:0]