разный размер скомпилированного файла

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

Сообщение virt » 12.01.2006 15:19:59

Код: Выделить всё
start strip.exe main.exe
start upx.exe main.exe


После некоторых компиляций ,и выполнения приведенного выше bat файла размер exe - 78Kb ,после некоторых - 470 примерно. Исходный код не менялся (ни символа) ,параметры среды и компилятора не менялись.

Код: Выделить всё
program Talk;
{$threading on}
uses sysutils ,crt ,
    blcksock in'lib/blcksock.pas';

var finished : longint;
   ip,locip : string;

function f1 (p : pointer) : longint;
var s : string;
   DGS : TUDPBlockSocket;
begin
  DGS := TUDPBlockSocket.create;
  DGS.CreateSocket;
  DGS.Bind(locip,'2007');
  with DGS do
     writeln('binding DGSSend ',GetErrorDesc(LastError));
  DGS.Connect(ip,'2008');
  with DGS do
     writeln('connecting DGSSend ',GetErrorDesc(LastError));

  while true do
     begin
        readln(s);
{         DGS.SendBufferTo(@s,length(s) + 1);}
        DGS.SendString(s);
        writeln('Sender floods');
     end;


  InterLockedIncrement(finished);
  f1 := 0;
end;

function f2 (p : pointer) : longint;
var DGS : TUDPBlockSocket;
   s : string;
   k : longint;
begin
  DGS := TUDPBlockSocket.Create;
  DGS.CreateSocket;
  DGS.bind(locip,'2008');
  with DGS do
     writeln('binding DGSRecv ',GetErrorDesc(LastError));

  while true do
     begin
        try
           k := DGS.WaitingDataEx;
           while k > 0 do
              begin
                 s := DGS.RecvString(10);
                 writeln(s);
                 writeln('Receiver floods');
                 k := DGS.WaitingDataEx;
              end;
        except;

        end;
     end;


  InterLockedIncrement(finished);
  f2 := 0;
end;

begin
  finished := 0;
  writeln('remote ip::');
  readln(ip);
  writeln('local ip::');
  readln(locip);

  BeginThread(@f1);
  BeginThread(@f2);
  while finished < 2 do;
  readln;
end.
virt
новенький
 
Сообщения: 35
Зарегистрирован: 01.12.2005 12:31:41

Сообщение STAKANOV » 12.01.2006 17:06:51

После некоторых компиляций ,и выполнения приведенного выше bat файла размер exe - 78Kb ,после некоторых - 470 примерно. Исходный код не менялся (ни символа) ,параметры среды и компилятора не менялись.



При одинаковых исходных данных(в т.ч. параметрах) результат всегда будет одинаковый. Советую медленно повторить еще раз все действия, очевидно что-то всетаки поменялось.

ЗЫ. Также предлагаю указывать ОС, версию компилятора и какая среда. ;)
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение virt » 12.01.2006 20:33:53

STAKANOV
Исходный код не менялся ,даже переносы строки те же и пробелы.
Непосредственно за 1 минуту до написания этого поста удали exe запустил fpc скомпилил ,получил после стрипа 470 опять ,все последующие компиляции дали 78Kb.
При упаковке 470килобайтного exe rarом размер снижается до 90Kb примерно.

fpc2.0.0
winXPsp1
freepascal ide 1.0.4
virt
новенький
 
Сообщения: 35
Зарегистрирован: 01.12.2005 12:31:41

Сообщение STAKANOV » 12.01.2006 22:24:38

Непосредственно за 1 минуту до написания этого поста удали exe запустил fpc скомпилил ,получил после стрипа 470 опять ,все последующие компиляции дали 78Kb.

fpc каждый раз запускался с консольного окна?
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение virt » 13.01.2006 04:12:29

Еще раз проверил только что.

Запускается ide открывается программа ,компилится(Alt + F9) -- размер 480 Кило ,компилится второй раз -- 78 Кило. Закрывается ide ,открывается ide ,открывается программа ,компилится -- 78 Кило.
virt
новенький
 
Сообщения: 35
Зарегистрирован: 01.12.2005 12:31:41

Сообщение STAKANOV » 13.01.2006 14:13:12

Похоже это баг в IDE. При первой компиляции явно одни ключи используются, а при дальнейших другие.
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 43

Рейтинг@Mail.ru