Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Smanjenje velicine executable fajla ?

[es] :: Pascal / Delphi / Kylix :: Smanjenje velicine executable fajla ?

[ Pregleda: 5105 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Smanjenje velicine executable fajla ?29.11.2003. u 20:12 - pre 247 meseci
Mozda je pitanje malo dumb :
Kako moze da se smanji velicina kompajliranog source koda u delphi-ju ? Primetio sam da ako ne koristim uses, velicina cistog fajla je svega 9.0 Kb, ali ako koristim uses, onda je velicina cistog fajla oko 350 Kb. Moze li nekako da se iz tih unita (Messages, Dialogs, ShellApi, itd...) 'izvuce' samo ta funkcija/procedura koja mi treba i da je ubacim u moj source code ?
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
*.vdial.verat.net



+11 Profil

icon Re: Smanjenje velicine executable fajla ?29.11.2003. u 21:39 - pre 247 meseci
U principu moze ali je komplikovano. Postoje neke gotove biblioteke koje sadrze zamene za VCL tako da se zaista mogu praviti aplikacije koje imaju vrlo malu izvrsnu datoteku. Nazalsot, ja sam se time bavio davno i ne secam se imena biblioteka ali znaj da ima dosta dobrih resenja.
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.verat.net

Sajt: localhost


+5 Profil

icon Re: Smanjenje velicine executable fajla ?29.11.2003. u 21:48 - pre 247 meseci
teoretski može, ali je praktično malo teže. recimo, te funkcije koje ti koristiš koriste druge funkcije/tipove/klase/konstante/promenjive iz tih unita, pa zato to nije tako lako ostvarivo.

znači, teoretski, mogao bi da napraviš "light native units" (valjda bi mogao da zameniš sve osim system.pas i možda još neke), ali vrlo retko se to radi.

i ne razumem koji je problem u par stotina kb. ako baš insistiraš, možeš posle na iskompajliranom izvšrnom fajlu da iskoristiš neki exe packer.

a možeš da koristiš i deljene biblioteke. znači, ubaciš .bpl fajlove u windows direktorijum, a tvoji iskompajlirani fajlovi svi budu ispod 100k. dobro, ovo nije neko poboljšanje ako imaš jedan program, ali ako imaš 3-4, već ima razlike...
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Smanjenje velicine executable fajla ?29.11.2003. u 22:30 - pre 247 meseci
Nikako mi ne odgovara da je velicina fajla iznad 100kb. Uocio sam da mi Forms, Dialogs i Registry odnose oko 380 Kb ! (a ceo executable fajl je 420 Kb), tako da sam izbacio Forms, Dialogs i Registry, i sve naredbe od strane ovih unita sam zamenio drugim procedurama/funkcijama koje rade istu stvar (thx god that there is MSDN :)). Takodje cu ga packovati i sa UPX.
Hvala.
 
Odgovor na temu

byTer

Član broj: 10936
Poruke: 1221
*.info-net.co.yu

ICQ: 47761626


Profil

icon Re: Smanjenje velicine executable fajla ?29.11.2003. u 22:31 - pre 247 meseci
Moze. Kompajliraj fajl bez Uses (odnosno onamo u project properties podesi iskljuci compile using real time... sta vec bese. E onda startuj dependancy viewer ili neki slicni program i onda pokupi sve biblioteke koje ce ti trebati (u oba slucaja) da bi program mogao da radi.
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Smanjenje velicine executable fajla ?30.11.2003. u 12:57 - pre 247 meseci
Moze li neko da mi objasni kako da zapisem podatak u registry i da ga izbrisem, bez Registry unita ? (RegCreateKey(ex), RegDeleteKey...)

Da li je dobro da izvrsavam neki program sa ShellExecute(HWND_BROADCAST,...) handlerom ?
 
Odgovor na temu

byTer

Član broj: 10936
Poruke: 1221
*.info-net.co.yu

ICQ: 47761626


Profil

icon Re: Smanjenje velicine executable fajla ?30.11.2003. u 18:13 - pre 247 meseci
Citat:
Marko Paunovic:
Moze li neko da mi objasni kako da zapisem podatak u registry i da ga izbrisem, bez Registry unita ? (RegCreateKey(ex), RegDeleteKey...)


A sto da komplikujes. Mislim da moze da se uradi uz pomoc APIja ali ne moze...

Citat:
Marko Paunovic:
Da li je dobro da izvrsavam neki program sa ShellExecute(HWND_BROADCAST,...) handlerom ?


Ovaj metod je dobar ukoliko ne moras mnogo da baratas sa otvorenim programom. Zato samo -->
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Smanjenje velicine executable fajla ?01.12.2003. u 17:44 - pre 247 meseci
Citat:
A sto da komplikujes. Mislim da moze da se uradi uz pomoc APIja ali ne moze...

Protumaci mi ovo plz :)

Ma moze sigurno da se zapise, video sam da RegOpenKey radi, i da pomocu njega moze da se cita registry. Sta onda treba da rade RegCreateKey i RegDeleteKey ???
 
Odgovor na temu

MilošV
Podgorica

Član broj: 7996
Poruke: 484
195.66.163.*



+1 Profil

icon Re: Smanjenje velicine executable fajla ?02.12.2003. u 07:16 - pre 247 meseci
Dobar dan :)

Sto ne probas sa nekim .exe kompresorom?
Npr. UPX, evo sad sam bas probao da bih imao tacne podatke kojim cu ga pohvaliti :) : *.exe fajl velicine 828KB (dobijen iz C++ Builder-a) smanjio je na 313KB sa default vrijednoscu kompresije tj. kompresija moze biti i veca...
Evo ga i link:
http://upx.sourceforge.net/
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Smanjenje velicine executable fajla ?02.12.2003. u 13:40 - pre 247 meseci
Citat:
tizza:
Dobar dan :)

Sto ne probas sa nekim .exe kompresorom?
Npr. UPX, evo sad sam bas probao da bih imao tacne podatke kojim cu ga pohvaliti :) : *.exe fajl velicine 828KB (dobijen iz C++ Builder-a) smanjio je na 313KB sa default vrijednoscu kompresije tj. kompresija moze biti i veca...
Evo ga i link:
http://upx.sourceforge.net/


http://www.elitesecurity.org/tema/35768/0#242368
(vidi zadnju recenicu)
 
Odgovor na temu

MilošV
Podgorica

Član broj: 7996
Poruke: 484
195.66.163.*



+1 Profil

icon Re: Smanjenje velicine executable fajla ?03.12.2003. u 06:23 - pre 247 meseci
Citat:
Marko Paunovic:
Takodje cu ga packovati i sa UPX.
Hvala.

Sorry
 
Odgovor na temu

goblin
Milan Aleksic
Gtech Belgrade, Sofware Engineer II
Beograd

Član broj: 4055
Poruke: 85
*.rcub.bg.ac.yu

Jabber: milanaleksic@gmail.com
Sajt: www.milanaleksic.net


Profil

icon Re: Smanjenje velicine executable fajla ?03.12.2003. u 09:50 - pre 247 meseci
Citat:
Marko Paunovic:
Citat:
A sto da komplikujes. Mislim da moze da se uradi uz pomoc APIja ali ne moze...

Protumaci mi ovo plz :)

Ma moze sigurno da se zapise, video sam da RegOpenKey radi, i da pomocu njega moze da se cita registry. Sta onda treba da rade RegCreateKey i RegDeleteKey ???


ema mnogo cimanja oko ovoga. Sve sto treba da uradis to je da otvoris Registry.pas i da pogledas koju su oni filozofiju iskoristili u implementiranju TRegistry klase (ona je bazirana na ovim WinAPI funkcijama). Ja sam ovo odradio pre neki dan (nemam kod na ovom racunaru posto pisem sa fakultetskog) i sve sto treba da znas jeste da prvo otvoris KLJUC, zapises vrednost sa drugom funkcijom (RegWriteValue valjda) i to je to. Poenta je da uneses varijablu key:HKEY koja ce biti jedna od parametara prvoj funkciji koju pozivas. Posle istu iskoristis kada pozivas drugu funkciju. Lako zar ne? :) Ako ima problema vici, ali od mene mozes da dobijes odgovor tek za vikend...

P.S. Inace, BPLove koristite SAMO kada imate kolekciju od nekoliko aplikaciaj koje zajedno koriste VCL (ili neki vas paket). Tako cete ukupnu velicinu kolekcije smanjiti. Pozdrav
Don't try to impress me... I'm good !
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Smanjenje velicine executable fajla ?03.12.2003. u 22:55 - pre 247 meseci
Hvala svima na odgovorima, resio sam. Evo source koda, mozda ce nekome biti od koristi :
Code:

// Delete key from Registry
procedure RegDelKey(root : HKEY; path, value : String);
var
 hndKey : HKEY;
begin
 RegCreateKey(root, PChar(path), hndKey);
 RegDeleteValue(hndKey, PChar(value));
 RegCloseKey(hndKey);
End;

// Add key to Registry
procedure RegAddKey(root : HKEY; path, name, value : String);
var
 hndKey : HKEY;
begin
 RegCreateKey(root, PChar(path), hndKey);
 RegSetValueEx(hndKey, PChar(name), 0, REG_SZ, PChar(value), Length(value) + 1);
 RegCloseKey(hndKey);
End;
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Smanjenje velicine executable fajla ?

[ Pregleda: 5105 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.