Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Lazarus при компиляции создаёт очень большие исполняемый файлы  (Прочитано 15836 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Hermiona
Гость
« : 02-11-2009 09:43 » 

Lazarus при компиляции создаёт очень большие исполняемые файлы (больше 10 МБ), работать с такими файлами на домашних дисках с квотой 15 МБ ученикам невозможно.
Помогите исправить данную ситуацию.
« Последнее редактирование: 02-11-2009 11:02 от Джон » Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 02-11-2009 10:11 » 

Поставить тов. Лазарусу на вид и обязать впредь создавать исполняемые файлы меньше 10 МБ. Ага

Наверное речь идёт о Lazarus - среде разработки для фри Паскаля. Или?

Если да, то каким видится решение? Оптимизация компиляции и линковки? Переход на другу среду разработки? Исправление Lazarus?

ps Чем обусловлен выбор именно этой IDE?
« Последнее редактирование: 02-11-2009 10:14 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Hermiona
Гость
« Ответ #2 : 02-11-2009 10:19 » 


ps Чем обусловлен выбор именно этой IDE?

БЕСПЛАТНОСТЬЮ
Так как исправить?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 02-11-2009 10:23 » 

Это вопрос к Игорю - он с Lazarus-ом работал.
https://forum.shelek.ru/index.php?action=profile;u=527
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 02-11-2009 10:23 » new

Hermiona, читаем

Оптимизация компиляции и линковки

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

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Hermiona
Гость
« Ответ #5 : 02-11-2009 10:27 » 


Это вопрос к Игорю - он с Lazarus-ом работал.
https://forum.shelek.ru/index.php?action=profile;u=527
Спасибо огромное
Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 02-11-2009 10:29 » 

B .exe содержится очень много мусора. Избавиться от него в уже откомпилированном и слинкованом файле можно. В папке /Bin для этого есть утилиты strip.exe - удаляет весь мусор (включая отладочную информацию) и upx.exe для сжатия исполняемых файлов. Обычно достаточно strip (уменьшение размера в 10 раз)

з.ы.
http://freepascal.ru/forum/viewtopic.php?t=3768&view=unread#unread
« Последнее редактирование: 02-11-2009 11:08 от Oldy » Записан

С уважением, Oldy.
Hermiona
Гость
« Ответ #7 : 02-11-2009 10:44 » 

Проблема в том что весь этот мусор создается после того как дети уже скомпилировали файл
Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 02-11-2009 10:49 » 

Прошу прощения, дал ссылку позже вашего "поста".
Можно попробовать изменять параметры компиляции, оптимизации, отладки.
Цитата
Re: Еще несколько вопросов по Lazarus...
 voltron 21.08.2008 17:28:00

...
2. просто по умолчанию программа собирается с отладочной информацией. Чтобы она вырезалась, в настройках Lazarus'а "Проект-Параметры компилятора-Связывание" поставьте галку "Вырезать символы из бинарника" (это же делает отдельная утилита strip). Или же пропишите в fpc.cfg параметр -Xs.
Наиболее известный упаковщик - upx, есть версии как под win так и под linvoltron
новенький
 
Сообщения: 48
Зарегистрирован: 06.07.2007 13:27:46
Откуда: УкраинаВернуться к началу
« Последнее редактирование: 02-11-2009 13:54 от Oldy » Записан

С уважением, Oldy.
x77
Команда клуба

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #9 : 08-11-2009 17:40 » 

Hermiona, если не секрет, а где сейчас Лазарус преподают?
Записан

x77
Команда клуба

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #10 : 09-11-2009 05:51 » 

з.ы. ко всему вышесказанному, остаётся добавить, что Лазарус позволяет всё это соптимизировать. В меню "Проект/Параметры компилятора/Компиляция" есть раздел "Выполнить после", в котором, можно прописать вызов того же upx:

C:\dev\lazarus\fpc\2.2.2\bin\i386-win32\upx.exe  -9 "C:\dev\projects\shfile.exe"

если все галки включены, то проект будет автоматически обжиматься после каждой сборки (компиляции, запуска). файл весом в 20 мегабайт ужимается примерно раза в 4 (т.е. до 5 мегабайт). при отключенной отладочной информации - может и до одного.

но надо понимать, что в боевых проектах юзать это надо аккуратно. файл, обжатый под WinXP может просто не запуститься под Windows7, т.к. большинство паковщиков работают на достаточно низком уровне.
Записан

Hermiona
Гость
« Ответ #11 : 10-11-2009 07:19 » 

Hermiona, если не секрет, а где сейчас Лазарус преподают?
Не секрет Улыбаюсь, в средней школе НОУ "Тольяттинская академии управления"
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines