-=Всё будет=-

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » -=Всё будет=- » Програмирование » MASM32 и DELPHI - битва за размер...


MASM32 и DELPHI - битва за размер...

Сообщений 1 страница 2 из 2

1

MASM32 и DELPHI - битва за размер...

Часто говорят о потребностях в оптимизации проекта с целью уменьшения размера программы... Delphi является аутсайдером по этому показателю среди основных языков для разработки системных приложений... Действительно у ламеров есть очень сильный (как им кажется) аргумент - Делфи создаёт пустой проект весом почти 400 кб)).. Напротив асемблер считается передовиком направления создания компактных приложений и по мнению ламеров разница в размерах огромна по сравнению с делфи... Да это так.. но всё же давайте попробуем написать программу хеллоу ворлд... выводящую просто окошко с заголовком Hallo и строкой Hallo World!!! напишим мы эти проги на Delphi и Asm... и посмотрим какая будет разница в размере...

Asm:

0

2

Компиляция:
из MASM32==> ML.EXE, LINK.EXE, USER32.LIB + окороченный стаб весом 64 байта..
Сохраняем код и кидаем его в файл: asm.asm...
Создаём ВАТ-ник с текстом:

@ml /c /coff /nologo asm.asm
@Link /ALIGN:4 /FORCE:UNRESOLVED /SUBSYSTEM:WINDOWS /MERGE:.data=.text /MERGE:.rdata=.text /stub:stub.bin asm.obj

Все эти файлы кидаем в одну папку и запускаем ВАТ-ник...

Имеем ехе-шник весом 624 байта... Нормально... Теперь давай тоже самое на делфи...

DeLpHi:

unit H;
interface
Procedure Start;
implementation
function MessageBoxA(hWnd: cardinal; lpText, lpCaption: PChar; uType: Cardinal): Integer; stdcall; external 'user32.dll' name '_MessageBoxA@16';
Procedure Start;
begin
MessageBoxA(0,'Hallo World!!!','Hallo',0);
end;
end.

0


Вы здесь » -=Всё будет=- » Програмирование » MASM32 и DELPHI - битва за размер...


Создать форум.