Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Pascal: Miten pienentää ajettavan ohjelman kokoa Lazarus

Sivun loppuun

koikko [04.11.2010 22:04:03]

#

hei!

Tein pienen asiakasrekisteri-ohjelman lazaruksella linux alustalla.
Ajettavan ohjelman koko n.25M.

Ohjelma kuitenkin tarvittiin win alustalle, jonne siirrettynä ja käännettynä on n.
15M

Varsinkin linuksi ajettava on HUGE.

Voiko noille kokojutuille tehdä jotain?

t.kaitsu

Jokotai [04.11.2010 22:09:18]

#

Oikeastaan ei. Paitsi jos jaksat suoraan assemblya vääntää. Tietenkin voit pyrkiä karsimaan koodista turhia kohtia, vertailla erilaisten toteutuksien kokoa, ynnä muuta pientä puuhastelua.

koikko [04.11.2010 22:17:56]

#

Selailin ajettavaa koodia, siellä on siis pilvinpimein tekstiä ym. muuta.
Onko ne tarkoitettu mille ? (Debuggerille?); Mielestäni olen disabloinut debuggaus jutut valmiista käännöksestä.

-tossu- [04.11.2010 22:22:53]

#

UPX:llä voi pakata suoritettavia tiedostoja. Se tukee ainakin joitain Linuxin binäärejä. http://upx.sourceforge.net/

koikko [04.11.2010 22:33:46]

#

OK!
Kiitos vinkistä. Kokeillaan.

Silti tuntuu että FPC ei ole vielä ihan optimoinnin kärjessä.
Onpahan tuosta sorsat olemassa, josko aloittaisi perehtymisen siihen.

Metabolix [04.11.2010 22:36:53]

#

Jokotai, älä vastaa, jos et oikeasti tiedä.

Tiedostojen suurta kokoa käsitellään Lazaruksen FAQ:ssa. Siellä on kerrottu erilaisista pienentämismahdollisuuksista, myös UPX mainitaan.

koikko [04.11.2010 22:45:35]

#

toimiiko Metabolix linkin takaa löytyvä komento linuksissa.
Olin oivaltani windows ohjeita sieltä?


Just type "strip --strip-all <your executable file with path>" on the command line

Blaze [04.11.2010 22:52:28]

#

Eikös "type on the command line"-muotoset ohjeet yleensä oo just Linuxille? :)
Ei vaan, kyllähän Linuxista strip löytyy.

koikko [04.11.2010 22:56:44]

#

WOW!
Ajoin strip jutun ja 25M pieneni 4.4M .

KIITOS KAIKILLE KANTAA OTTANEILLE.

User137 [05.11.2010 13:08:48]

#

Avaa project options ikkuna.
Compiler Options -> Linking:
Siellä on 2 kohtaa joihin laitat raksin:
- Strip Symbols From Executable
- Use external gdb debug symbols file
Sitten vielä raksi alla olevaan "Use these compiler options as default for new projects"

Tuo tekee sen että se kirjottaa debug tiedot erilliseen tiedostoon eikä .exe sisälle. Mun ohjelmat pienenee jopa alle 2 megaan.

Sen jälkeen samassa ikkunassa kohdassa Code generation on valinnat jos vielä tarvitsee kokoa pudottaa:
Level 0-3 optimization
Uncertain Optimizations
smaller rather than faster

Ja tietty kun kaiken tuon jälkeen ajaa UPX niin exe:n koko voi pudota puoleen megaan.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta