IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Как уменьшить вес прог, скомпиленных в Fpc?
Xamil
сообщение 22.04.2007 8:31
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Xamil

Репутация: -  0  +


Занимаюсь я графикой на паскале, и ввиду этого решил перейти с трубо паскаля на компилятор под вин32 с новыми возможностями.. Вроде бы фри паскаль нормальный выход, подумал я, поюзав этот компилятор.. Но когда увидел вес экзешников, то ужаснулся- 203 кило, хотя на других получался вес 3-5кб.. Пользовался фпк 1.0.9. Можно с этим че-нить сделать? З.Ы. За что мою тему про компилятор Странник удалили? Хотя бы в личку написали..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 22.04.2007 8:33
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Тема про Странника перенесена в раздел "Общие вопросы разработки программ"


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Xamil
сообщение 22.04.2007 8:35
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Xamil

Репутация: -  0  +


А, ну звиняйте.. =)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 22.04.2007 8:42
Сообщение #4


Гость






Цитата
Можно с этим че-нить сделать
Оптимизация по размеру программы + компиляция без отладочной информации + strip, если под Windows...

А вообще-то надо бы давно обновить компилятор - уже 2-я ветка давно...
 К началу страницы 
+ Ответить 
Xamil
сообщение 22.04.2007 9:08
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Xamil

Репутация: -  0  +


Пжалст, можно подробнее про оптимизацию и strip? Где это применить, и какой в результате, хотя бы примерно, будет размер? Насчет новой версии- я в инет только через мобилу могу выйти, поэтому качать что-либо больше 5 метров нереально..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 22.04.2007 9:21
Сообщение #6


Гость






Ну, смотри...

Программа:
program search;
uses
crt;
var
res:text;

x, price: integer;
s: string;
code, pp: integer;


BEGIN
assign(res,'BD.che');
write ('[vvedite CTOUMOCTb iskomogo produkta] ');
readln(x);

reset(res);
while not EOF(res) do begin

readln(res, s);
pp := pos('_', s);
val(copy(s, pp + 1, 255), price, code);
if (code = 0) and (price = x) then
writeln(copy(s, 1, pp - 1) + ' ', x, ' pyb.');

end;
close(res);
readln;
end.


(взята с форума, просто для теста)

Компиляция под Win32 без оптимизаций - размер EXE = 159К (пользуюсь 2.0.4, я не знаю, что сделает 1.0.9)
В командной строке
Цитата(Console)
strip test.exe

размер EXE = 44К
Гораздо лучше, правда?

Добавлено через 6 мин.
А вообще - вот тут приведены основные рекомендации:
Tips to get smaller code
 К началу страницы 
+ Ответить 
Xamil
сообщение 22.04.2007 9:34
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Xamil

Репутация: -  0  +


Понятно, спасибо за помощь!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bard
сообщение 22.04.2007 20:40
Сообщение #8


Учиться, учиться еще раз учиться
***

Группа: Пользователи
Сообщений: 158
Пол: Мужской
Реальное имя: Яшар

Репутация: -  3  +


Цитата
Компиляция под Win32 без оптимизаций - размер EXE = 159К (пользуюсь 2.0.4, я не знаю, что
сделает 1.0.9)
В командной строке

Совершенно согласен с volvo у меня все екзешники не более 170 кб(но только без файлов) даже при графике...


--------------------
Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 22.04.2007 21:13
Сообщение #9


Гость






Bard, я кстати не говорил, что у меня любая программа меньше 170К... Были и мегабайтные EXE-шники, были и побольше (при использовании FPC, разумеется). Просто я не очень гонюсь за минимальными размерами.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 21:22
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"