Уменьшение размера исполняемого .exe-файла в lazarus-1.0.10

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

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

for-films
незнакомец
Сообщения: 2
Зарегистрирован: 07.08.2013 19:30:43

Уменьшение размера исполняемого .exe-файла в lazarus-1.0.10

Сообщение for-films »

Установил lazarus-1.0.10-fpc-2.6.2-win32
В lazarus-1.0 утилитами strip.exe и upx.exe добивался многократного уменьшения размера файла созданого приложения (.exe-файла).
В lazarus-1.0.10 утилита strip.exe почему-то не работает, а утилиты upx.exe вообще нет (в версии lazarus-1.0 файлы strip.exe и upx.exe находились в папке C:\lazarus\fpc\2.6.0\bin\i386-win32\)
Почему в lazarus-1.0.10 не работают утилиты strip.exe и upx.exe для уменьшение размера исполняемого .exe-файла?
Аватара пользователя
amateur
энтузиаст
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Сообщение amateur »

по идее upx и strip в bin фпс лежат.

Плюс, по идее, лазарь уже могет сам "стриповать".
for-films
незнакомец
Сообщения: 2
Зарегистрирован: 07.08.2013 19:30:43

Сообщение for-films »

Спасибо за ответ.
Но
amateur писал(а):по идее upx и strip в bin фпс лежат.

Да, файл strip.exe находся в папке C:\lazarus\fpc\2.6.2\bin\i386-win32.
После изменения некоторых параметров проекта (в том числе и "вырезать символы из исполнимого файла" и "Генерировать отладочную информацию для GDB") файл из 14,8 Мб уменьшается до 1,7 Мб. Но после использования вышеперечисленных утилит в lazarus-1.0 размер файла еще уменьшался (приблизительно до 700 Кб).
Сейчас никакими манипуляциямия не могу уменьшить. Не могу размер файла сделать меньше чем до 1,7 Мб
Strip.exe не срабатывает.
А из FPC убрали UPX.
Как уменьшть размер исполняемого .exe-файла в lazarus-1.0.10?
Почему не работает Strip.exe?
И что с upx.exe? Скачать отдельно и подкинуть в папку FPC? - результат - 0!
amateur писал(а):Плюс, по идее, лазарь уже могет сам "стриповать".

Уточните...
Аватара пользователя
amateur
энтузиаст
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Сообщение amateur »

приблизительно до 700 Кб
:)

такого размера бинарника не помню (больше метра - де факто). Хотя на винапи или кол размер конечно поменьше.
У меня на фпс 2.7.1 и лазарь 1.1 кажись 1,5 + ....

upx - сильно вредное зло :) От него пользы не очень. Уже на форуме жевалось о пользе upx. При распространении (архив или инсталяшка) размер "жуется".

Добавлено спустя 3 минуты 51 секунду:
Re: Уменьшение размера исполняемого .exe-файла в lazarus-1.0.10
Уточните...
если не ошибаюсь то в опциях проекта -- "Вырезать символы из исполнимого файла"
SeZuka
постоялец
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Сообщение SeZuka »

for-films писал(а):Почему не работает Strip.exe?

Видимо потому что при компиляции уже все было вырезано.

for-films писал(а):И что с upx.exe? Скачать отдельно и подкинуть в папку FPC? - результат - 0!

Так его еще и запускать надо ручками и с параметрами.
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

Параметры проекта / Компоновка / Использовать внешний файл отладочных символов GDB
Ну и забыть про strip.exe
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

Да и уменьшение файла менее 1.7 такая актуальная задача...
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

qivi писал(а):Да и уменьшение файла менее 1.7 такая актуальная задача...

Запросто:

Код: Выделить всё

del project.exe

всяко разно помогает. :)
SeZuka
постоялец
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Сообщение SeZuka »

qivi писал(а):Да и уменьшение файла менее 1.7 такая актуальная задача...

Как технический прогресс расслабляет программистов, можно писать большие и медленные программы, не работает у кого-то - сам виноват, меняй компьютер. Все уже забыли про большие компьютеры с маленькой памятью.
Когда-то уже выкладывал свою программку к вопросу о размере исполняемого файла.
XakeR
новенький
Сообщения: 23
Зарегистрирован: 10.08.2013 18:30:12

Сообщение XakeR »

Ну что за вопросы, извечный по отключай из uses модули не юзающиеся.
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

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


Вот только "большая" не значит медленная.
SeZuka
постоялец
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Сообщение SeZuka »

qivi писал(а):Вот только "большая" не значит медленная.

Видимо по вашему большая значит мощная.
Zak
новенький
Сообщения: 31
Зарегистрирован: 16.06.2013 07:24:39
Откуда: морозная Сибирь

Сообщение Zak »

for-films писал(а):И что с upx.exe? Скачать отдельно и подкинуть в папку FPC? - результат -

ну собственно "свежий" UPX можно найти тут http://upx.sourceforge.net/, ну а как юзать, это как захотите, можно отдельно, а можно указать в параметрах при сборке, например так: Проект -> Параметры проекта -> Параметры компилятора -> Команды компилятора - Команда "Выполнить после компиляции"
Ну и не забыть приложить к нему параметры (как писали выше)
trexxet
новенький
Сообщения: 31
Зарегистрирован: 25.03.2013 22:58:00
Откуда: Смоленск

Сообщение trexxet »

Не проще ли в настройках компилятора выключить "Добавлять отладочною информацию"?
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

trexxet, это не Тру. Слишком просто.

Хотя у меня получилось подойти к границе 1.7 --1.9 мегабайт и без привлечения дополнительных средств. Только настройками лазаруса и удалением лишних модулей. Ну еще и превращением кнопок в кликабельные картинки. Причем, перекомпиляция под каждую новую версию позволяет еще немного уменьшить размер программы.

ЗЫ, в отличии от UPX мой подход не замедляет программу, так как просто удаляет мертвый код.
Ответить