EXE оптимизация

10 отговора 357 прегледа
#1

EXE оптимизация

Има ли начин да се оптимизират получените от Delphi изпълними файлове? Много големи се получават. Дори след като ги компресирам с UPX, резултата пак не е задоволителен. Няма ли някакви опции в самото Delphi?

Мълчанието е злато, но ние не сме алчни, особено аз!
Отговор
в отговор на MadMax2OOO #2

Re: EXE оптимизация

Големи спрямо какво ??? - Спрямо програма правена на VS на C++ - ами пробвай да линкнеш статично MFC библиотеката и тогава ще ти гледам учудената физиономия от размера на exe файла ;-))))))) Освен това какво разбираш под голям exe файл - тези които съм докарвал - до 7-8 МБ- не са големи

Препоръките за малки файлове са
1. Смислено използване на ресурсите (да няма повтаряне на битмапи и прочие) - и те да са с оптимални размери и брой цветове.
2. Смислено използване на thirtd party компоненти - понякога хората наслагват - само заради единия по добър изглед на някой компонент.
3. Изчистване на използваните модули - каквото не се ползва - се разкарва - това спестява малко KB.
4. Build with Runtime Packages - това е стара тема- погледни назад - така веднъж инсталираш пакетите - след това при промяна мяташ exe-то на една дискета и си готов.
5. Като алтернатива на 4 - можеш да ползваш библиотеки - но не ти го препорчъвам.

Сигурно има и още - но не виждам смисъл да дискутирам темата при положение, че един 1G струва почти 1$ = 1.5х лева - т.е. без пари.


---
Колкото повече, толкова повече.
Отговор
в отговор на PhantomAS #3

Re: EXE оптимизация

Ами според теб нормално ли е прост текстов редктор на обиновен текст да става 1 мегабайт ( след компресиране с UPX става 435 К )? Гледам други редактори по 50-60 К ( е, вярно, все пак писани са на асемблер ). Но както и да е. Ще го приема. Та затова питах нормално ли е това.

Мълчанието е злато, но ние не сме алчни, особено аз!
Отговор
в отговор на MadMax2OOO #4

Re: EXE оптимизация

Не е лошо да погледнеш и така нареченото NonVCL програмиране(с използването директно на WinAPI). Получават се доста малки exe-та( при мен едно сравнително сложно приложение е с големина 40kb)

Отговор
в отговор на MadMax2OOO #5

Май ще трябва да се задълбоча...

и да ти разясня нещо което писах преди повече от 2 години във форума за програмисти

1. Защо Делфи програмите стават големи - ами защото VCL се линква статично в самата програма - ако искаш малка програма - просто я компилирай с RunTime packages!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Обаче тогава ще трябва да инсталираш веднъж тези пакети на машината на която deploy-ваш програмата. След това само обновяваш exe-то. Чисто и просто като къпан ....

2. Защо програмите писани на MS VS - без значение VC или VB- стават малки - ами защото MFC библиотеката е свързана динамично - или реално почти 8 МБ стоят извън файла !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MFC библиотеката(4.2 ако не бъркам) върви с самия Win - t.e няма нужда от инсталация .

Сравнено като размер на exe -то - което няма нищо освен форма и бутон на него - с Делфи се компилира до 16-17k (и помалко може да стане като махнеш дебъг инфото и като ползваш по стара версия на - Д4.0 приемерно) а с VC (6.0) до 20+ КБ в зависимост от опциите на компилатора.

Би ли ми обеснил тогава, че exe файловете ставали ГОЛЕМИ!!!!!!!!!!!!

Има ли нужда от повече обеснения - ако искаш малко exe - не ползвай нито една от тези две библиотеки - ами директно API функциите на win - за да не си зависим от библиотеките - обаче тогава програмата ти ще заприлича малко на ASM от 88 година ;-))))) - поне на мен на това ми прилича.

Редактирано от PhantomAS на

Отговор
в отговор на PhantomAS #6

Finalen komentar:

Истинските мъже не ползват GUI, GUI е за жени и юзъри!

------------------------------
I got a COMPILER, and I'm not afraid to use it!
Отговор
в отговор на SDR #7

;-)))

х'Абсолютно съгласен - ама какво да се прави - всичките клиенти са жени или user-и ;-)))

Да живее конзолата - мисля малко по малко да я върна в програмите ми ;-)))- както едно време AutoCad - а - можеше да му пишеш командите ;-))))))

P.S. Да не си помислите, че съм имал нещо лошо в предвид за жените - само хубави неща им мисля - ама да не се отплесваме.

---
Колкото повече, толкова повече.
Отговор
в отговор на PhantomAS #8

Re: ;-)))

То и сега може, а във версиите след 13 има и history. Вярно доста голямо дърво е в сравнение с някои други...

Отговор
в отговор на PhantomAS #9

Re: Май ще трябва да се задълбоча...

Ясно, ясно, разбрах те. Предпочитам да си я оставя програмата така, за да не е библиотеко-зависима. Благодаря за разяснението.

Мълчанието е злато, но ние не сме алчни, особено аз!
Отговор
в отговор на PhantomAS #10

Да, ще трябва да се задълбочиш, ама в друга област

Пише се "обЯснения", пич...

"О Б Я С Н Е Н И Я" - с 'Я', а не с 'Е'

---------------------------------
Айде, и със здраве

Отговор
в отговор на Barracuda #11

Re: Да, ще трябва да се задълбочиш, ама в друга об

Някой май е станал с дупето нагоре тази сутрин...

Отговор