Текущий архив: 2003.04.03;
Скачать: CL | DM;
ВнизКак уменьшить размер ехе-файла Найти похожие ветки
← →
RelakS (2003-03-16 19:33) [0]Написал на VC++ програму она получилась 50кб, написал такую же на Делфи приблизительно 420кб. Так вот,можно ли как-то уменьшить размер программы.
← →
big_rom (2003-03-16 19:35) [1]нет или писать на апи
Удачи
← →
nikkie (2003-03-16 20:05) [2]на VC небось писал на MFC? посмотри настройки проекта - там по дефолту стоит "Use MFC as a shared DLL". это означает, что для функционирования твоей программы будет требоваться mfc42.dll размером 1Mb. так что не обольщайся. линковка с MFC статически сразу увеличит размер твоей программы, но такая программа не будет требовать MFC dll.
хочешь добиться такого же эффекта на Delphi? элементарно. открой Project/Options и поставь галочку "Build with run-time packages". программа будет маленькой, но будет требовать *.bpl файлы.
реально маленького размера можно добиться, программируя на апи, либо используя другие библиотеки.
← →
NKiril (2003-03-16 20:55) [3]А вот и можно, есть такая прога. UltimatePacker или шото в этом роде, если заинтересовало. Мыльте... Так вот моя прога из 420кб превратилась в 120 кб.
← →
IL-89 (2003-03-16 21:02) [4]Ещё можно KOL (кодоэкономичная библиотека) использовать. Размер уменьшится в 5-10 раз, но мне лично на KOL программировать неудобно (немного отличается от VCL).
IL-89
← →
multik (2003-03-17 00:20) [5]ASPack - уменьшает размер exe в несколько раз. У меня одну прогу уменьшила в 6 раз. Но бывают случаи, когда прога глючит после сжатия, но редко.
← →
Lancelot (2003-03-17 01:33) [6]Вопросу давно пора в FAQ.
← →
NetBreaker666 (2003-03-17 14:23) [7]Не используй VCL - 40-60kb гарантировано. А из VC++ можна 2кб(и меньше) выжать.
← →
Слесарь Матерящийся (2003-03-17 14:39) [8]А ЗАЧЕМ писать одно и то же 2 раза? В чём смысл?
← →
Игорь Шевченко (2003-03-17 14:43) [9]Слесарь Матерящийся © (17.03.03 14:39)
А померяться как же ? :-))) Чтобы потом сказать - Delphi отстой, так как большие exeшники создает :-))))
← →
Слесарь Матерящийся (2003-03-17 14:49) [10]>Игорь Шевченко © (17.03.03 14:43)
Действительно! :)
Кадру просто нечем заняться...
← →
y-soft (2003-03-17 14:56) [11]Если бы дело только в размере было, то все писалось бы на ASM или вообще в машинных кодах, а потом очччень долго и мучительно оптимизировалось (кто работал с микроконтроллерами, тот знает). Есть ведь и другие способы уменьшения размера бинарников - например грамотное совместное использование Dll
← →
blackman (2003-03-17 14:56) [12]Можно и уменьшить
http://www.aspack.com/
← →
Danilka (2003-03-17 15:06) [13]для любителей упаковщиков желательно почитать вот-это:
http://plugring.farmanager.com/programming/articles/packers.html
← →
NetBreaker666 (2003-03-17 15:33) [14]
2y-soft ©
> то все писалось бы на ASM или вообще в машинных кодах
А какя разница ? Меньше занимать будут ?
← →
y-soft (2003-03-17 15:50) [15]>NetBreaker666 © (17.03.03 15:33)
Конечно меньше, т.к. больше возможностей для оптимизации
← →
NetBreaker666 (2003-03-17 16:51) [16]
> y-soft © (17.03.03 15:50)
> >NetBreaker666 © (17.03.03 15:33)
> Конечно меньше, т.к. больше возможностей для оптимизации
Каких возможностей для оптмимзации? Ты вообще какой ассемблер подразумеваешь? Давай не будем рассматривать архитектуру X-Scale (я сам еще не разобрался). А если ты имеешь ввиду x86, Motorolla (Palm1-2), Texas I., альфа, спарк или что-нибудь в этом роде, то запомни, что между асмом и машинным кодом (с точки зрения машины) разницы нет (я не имею ввиду возможность execut"a). Асм просто более удобен для чтения, там есть такое понятие как метки (да, давай не будем рассматривать макросы - плохой стиль). Например
or ax,ax
jz @Somewhere
jmp @SomewhereElse
Будет выглядеть как 0x09,0xC0,0x74,0xADR1,0xe9,WORD:0xADR2 (16бит) где 0xADR1 и 0xADR2 - относительный и адсолютные адреса. Правда не удобно считать сколько занимает в байтах тот или иной кусок кода ? А компилятор это просто за тебя делает. А так разницы никакой, что ты пишешь mov ax,04c00h; int 21h; или db 0b8h,04ch,000h,0cdh,021h - разницы никакой.
Если не веришь, попробуй привести кусок кода, который нельзя реализовать на Ассемблере.
Страницы: 1 вся ветка
Текущий архив: 2003.04.03;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.007 c