14-ти метровый hello world, серьезно?

Discussion in 'Болталка' started by FunOfGun, 21 Dec 2012.

  1. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Скачал чудо под названием lazarus, сохранил дефолтный проект, скомпилировал и получил 14-ти метровый exe'шник! ОДНА ПУСТАЯ ФОРМА! Я не знаю как жить дальше...
     
  2. ChymeNik

    ChymeNik Member

    Joined:
    31 Aug 2010
    Messages:
    29
    Likes Received:
    7
    Reputations:
    9
    Сочувствую...
     
  3. GoodGoogle

    GoodGoogle Moderator

    Joined:
    5 Aug 2011
    Messages:
    1,160
    Likes Received:
    366
    Reputations:
    226
    Зачем так жить, прыгай в окно.
     
  4. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Не, просто реально, как так можно? Их самих-то размеры не напугали?
     
  5. dupD0M

    dupD0M Elder - Старейшина

    Joined:
    18 May 2010
    Messages:
    1,130
    Likes Received:
    74
    Reputations:
    34
    да ну размер как размер-что в нем необычного?
     
  6. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
  7. C00LPack

    C00LPack Elder - Старейшина

    Joined:
    7 Oct 2010
    Messages:
    425
    Likes Received:
    72
    Reputations:
    19
    скомпили в этом чуде такой кодес (без форм и прочего говна естественно), и смотри не выпади :D

    Code:
    program Project2;
    
    function MessageBoxA(hWnd: Integer; lpText, lpCaption: PAnsiChar; uType: Integer): Integer; stdcall; external 'user32.dll' name 'MessageBoxA';
    
    begin
      MessageBoxA(0, 'Hello world', 'Hello world', 0);
    end.
    
     
  8. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Оно пончтно, что на чистом winapi будет маленьий размер(кстати какой? сижу с другого компа), но вынесло то, что ребятам не пришло в голову разбить либу на небольшие кусочки и линковать только нужные(идеальный вариант -- линковать только те ф-ции и классы, которые используются).
     
  9. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    надо быть феерическим долбоебом чтобы 14 метровые хеллоуворды писать.
     
  10. NekoKoneko

    NekoKoneko Elder - Старейшина

    Joined:
    29 Oct 2010
    Messages:
    175
    Likes Received:
    141
    Reputations:
    20
    На сях при включении максимальной оптимизации на размер и еще кое-каких трюках размер ехе-шника и длл-ки я делал по 1024 байт. Можно и меньше, но он работать перестает корректно. И это не хелловорлд, это недо-бекдор, скрывающий файлы определенного типа (кинцо, прон).
    Зато на каком-нибудь VB простой хелловорлд уже 500кб+ весит... 14 метров - это новый рекорд.
     
  11. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    какое отношение IDE имеет к размеру бинарника, умник?
     
  12. r0by

    r0by Banned

    Joined:
    24 May 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Hello World в MessageBoxA на пуребейсике в стандартной компоновке 4 608 байт
    на фасме без лишака 4 312 байт

    если сжать UPX будет гдет 1 КБ
     
    #12 r0by, 22 Dec 2012
    Last edited: 22 Dec 2012
  13. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    cool story, bro.
     
  14. r0by

    r0by Banned

    Joined:
    24 May 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    ты это не поймешь
    у каждой среды свой способ линковки кода
    один добавит свой готовый код, другой заюзает системные либы
     
  15. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    компиль и линкер являются абсолютно отдельными частями. и то, что какая то иде по дефолту передает им ненужные параметры ничего не значит. иде никак не связана с размером бинаря. если вам не нравится размер - правьте параметры. практически любая иде предоставляет такую возможность. задача иде вообще не в этом заключается.
     
  16. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    ну потому что там скорее всего прилинковуется куча хрени.
    на delphi 7 с правильно настроенными SysInit.pas и system.pas можно выжать мсбокс в ~900 байт.
     
  17. C00LPack

    C00LPack Elder - Старейшина

    Joined:
    7 Oct 2010
    Messages:
    425
    Likes Received:
    72
    Reputations:
    19
    наркоман чтоле? :eek:
    Code:
             format  pe gui 4.0
             entry   start
             include 'win32a.inc'
     
     start:
             invoke  MessageBox,NULL,message,message,MB_OK
             invoke  ExitProcess,0
     
     message db 'Hello, World!',0
     
             data    import
             library kernel32,'kernel32.dll',\
                     user32,'user32.dll'
             include 'api/kernel32.inc'
             include 'api/user32.inc'
             end     data         
    
    ровно 1024 байта выходит.
     
  18. NOPNOP

    NOPNOP New Member

    Joined:
    13 Feb 2012
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    а так же -gl поможет
     
  19. ChymeNik

    ChymeNik Member

    Joined:
    31 Aug 2010
    Messages:
    29
    Likes Received:
    7
    Reputations:
    9
    Не понимаю, почему все гонятся за маленьким размером, он нужен разве что для троянов и вирусов.
     
  20. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    все или нет, но меня именно в этой среде именно он и интерисует. Для большинства проектов у меня есть c# и python, но трои на них писать не вариант. Есть еще PureBasic, но меня немного бесит его типы данных и объявления.