Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Free Pascal, Pascal ABC и другие _ Как уменьшить вес прог, скомпиленных в Fpc?

Автор: Xamil 22.04.2007 12:31

Занимаюсь я графикой на паскале, и ввиду этого решил перейти с трубо паскаля на компилятор под вин32 с новыми возможностями.. Вроде бы фри паскаль нормальный выход, подумал я, поюзав этот компилятор.. Но когда увидел вес экзешников, то ужаснулся- 203 кило, хотя на других получался вес 3-5кб.. Пользовался фпк 1.0.9. Можно с этим че-нить сделать? З.Ы. За что мою тему про компилятор Странник удалили? Хотя бы в личку написали..

Автор: klem4 22.04.2007 12:33

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

Автор: Xamil 22.04.2007 12:35

А, ну звиняйте.. =)

Автор: volvo 22.04.2007 12:42

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

А вообще-то надо бы давно обновить компилятор - уже 2-я ветка давно...

Автор: Xamil 22.04.2007 13:08

Пжалст, можно подробнее про оптимизацию и strip? Где это применить, и какой в результате, хотя бы примерно, будет размер? Насчет новой версии- я в инет только через мобилу могу выйти, поэтому качать что-либо больше 5 метров нереально..

Автор: volvo 22.04.2007 13:21

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

Программа:

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 мин.
А вообще - вот тут приведены основные рекомендации:
http://community.freepascal.org:10000/docs-html/prog/progse50.html#x236-23900011.5

Автор: Xamil 22.04.2007 13:34

Понятно, спасибо за помощь!

Автор: Bard 23.04.2007 0:40

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

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

Автор: volvo 23.04.2007 1:13

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