Dateigröße bei kompilierten EXEcutables

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Dateigröße bei kompilierten EXEcutables

Beitrag von Antrepolit »

Hallo alle miteinander.

Ihr habt bestimmt schon gemerkt, dass Lazarus richtige Monster-Executables
(.EXE-Dateien) erzeugt. Weiß jemand, warum das so ist, und wie man
das ändern kann?
Ich finde 7 MB für eine 'Hallo Welt'-Anwendung eindeutig zu groß. :roll:
Bisher packe ich die Executables mit dem UPX. Den gibt's hier:

http://upx.sourceforge.net/ :)

Der kann schon mal aus 16 MB -> 1.7 MB machen.

Grüße Antrepolit

maja
Beiträge: 2
Registriert: Mo 11. Sep 2006, 12:28

Beitrag von maja »

Hi,
an der Code-Optimierung wird wohl später erst dran gefeilt.

Momentan muß man sich wohl mit strip und upx behelfen.

strip --strip-all *.exe und anschließend upx *.exe

dann bleiben von 8 mb noch ungefähr 400kb übrig.

Ich hoffe das hilft ein kleinwenig.

maja :wink:

ralli
Beiträge: 374
Registriert: Mi 13. Sep 2006, 15:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Hagen a.T.W.
Kontaktdaten:

Das Dienstprogramm Strip benutzen

Beitrag von ralli »

Hallo,

die Exe Progs sind deshalb so groß, weil noch alle Debug Infos enthalten sind. Zur Zeit läßt sich das (noch) nicht in den Compilereinstellungen ändern, weil es noch buggy ist. Benutze das Programm strip, ist bei Lazarus dabei.

Programmaufruf strip --strip-all Programmname

und das Programm schrumpft erheblich. Anschließend kann man den upx noch benutzen, dann ist die Größe erträglich.

Ralli

ralli
Beiträge: 374
Registriert: Mi 13. Sep 2006, 15:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Hagen a.T.W.
Kontaktdaten:

Schnelligkeit

Beitrag von ralli »

Oh, die Biene maja war wohl schneller

Ralli

Cherry

Beitrag von Cherry »

.
Zuletzt geändert von Cherry am Mo 7. Mai 2007, 12:43, insgesamt 1-mal geändert.

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von Antrepolit »

Hey, danke Leute!

Dann werden meine Executables zukünftig erst noch strippen. :wink:
Funktionieren die guten, alten Batchfiles auch noch unter Windows?

Cherry

Beitrag von Cherry »

.
Zuletzt geändert von Cherry am Mo 7. Mai 2007, 12:44, insgesamt 1-mal geändert.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Die executables werden in Zukunft auch so gross sein, es sei denn der interne debugger der gerade in Arbeit ist unterstützt ein anderes debugsymbolformat das kleiner ist. Man kann wohl "Projekt veröffentlichen" so einrichten das es das executable stript und in einen extra ordner kopiert. Das ist meiner meinung nach auch sinnvoller als das über den Compilerdialog zu machen, da man dann ja nach der neucompilierung nicht mehr debuggen kann.
Ich finde es sogar gut so da debugsymbole in einem veröffentlichtem Executable nichts mehr zu suchen haben, bei Delphi scheint das aber gang und gebe zu sein :)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten