Exe-Datei kleiner machen?
-
- Beiträge: 4
- Registriert: Fr 2. Feb 2007, 22:02
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
Exe-Datei kleiner machen?
Hallo Ihr lieben,
Ich bin heute das erste mal mit Lazarus am arbeiten (komme von Delphi7) und habe ein Win32 Teil, mit einem Button erstellt der ein Showmessage macht.
Die erzeugte Exe-Datei ist mit 6426kB recht happig. Mit UPX kriegt man es immerhin auf 2849kB.
Kriegt man die Exe noch kleiner? Wenn ja wie. Oder auch noch mal anders herum gefragt: Was lingt Lazarus da für riesige Sachen hinzu?
Viele Grüße, HH!
Ich bin heute das erste mal mit Lazarus am arbeiten (komme von Delphi7) und habe ein Win32 Teil, mit einem Button erstellt der ein Showmessage macht.
Die erzeugte Exe-Datei ist mit 6426kB recht happig. Mit UPX kriegt man es immerhin auf 2849kB.
Kriegt man die Exe noch kleiner? Wenn ja wie. Oder auch noch mal anders herum gefragt: Was lingt Lazarus da für riesige Sachen hinzu?
Viele Grüße, HH!
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Herzlich Willkommen im Forum.
In die Exe werden die kompletten debuginfos geschrieben, weshalb sie so groß ist.
Abgesehend avon enthält die Exe bereits einige Dinge, die bei umfangreicheren Sachen benötigt werden (könnten) daher steigt die Größe mit zunehmender Programmkomplexität nicht so stark an, wie bei anderen Sprachen. So sind bereits einige Libraries in der exe vorhanden, auch wenn noch nicht zwangsläufig für ein Button und ein Showmessage benötigt. (xml, Grafik, LCL-Schnittstellen und FP-Runtime)
ich nehm mal an, du hast nur UPX verwendet?
Wesentlich kleiner wird die Exe, wenn du zuvor ein Strip durchführst. Die strip.exe liegt schon im fpc-Ordner unter bin dabei.
Strip entfernt dabei die Debuginformationen aus der Exe.
So erhältsts du mit strip und anschließendem UPX schätzungsweise 300 bis 500kB, je nach Version.
Siehe auch http://www.lazarusforum.de/viewtopic.ph ... ight=strip" onclick="window.open(this.href);return false;
Und das Original:
http://wiki.lazarus.freepascal.org/Laza ... _so_big.3F" onclick="window.open(this.href);return false;
In die Exe werden die kompletten debuginfos geschrieben, weshalb sie so groß ist.
Abgesehend avon enthält die Exe bereits einige Dinge, die bei umfangreicheren Sachen benötigt werden (könnten) daher steigt die Größe mit zunehmender Programmkomplexität nicht so stark an, wie bei anderen Sprachen. So sind bereits einige Libraries in der exe vorhanden, auch wenn noch nicht zwangsläufig für ein Button und ein Showmessage benötigt. (xml, Grafik, LCL-Schnittstellen und FP-Runtime)
ich nehm mal an, du hast nur UPX verwendet?
Wesentlich kleiner wird die Exe, wenn du zuvor ein Strip durchführst. Die strip.exe liegt schon im fpc-Ordner unter bin dabei.
Strip entfernt dabei die Debuginformationen aus der Exe.
So erhältsts du mit strip und anschließendem UPX schätzungsweise 300 bis 500kB, je nach Version.
Siehe auch http://www.lazarusforum.de/viewtopic.ph ... ight=strip" onclick="window.open(this.href);return false;
Und das Original:
http://wiki.lazarus.freepascal.org/Laza ... _so_big.3F" onclick="window.open(this.href);return false;
-
- 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:
Monta kannst du nicht mal was wie ne wilkommens seite machen ?
Ich mein diese Information steht überall im zusamenhang mit lazarus auf den ersten 3 seiten und hier wurdes auch schon 5x gefragt aber das scheint nich zu reichen. Sorry happyhippo geht nicht gegen dich du bist einer von vielen.
Ich mein diese Information steht überall im zusamenhang mit lazarus auf den ersten 3 seiten und hier wurdes auch schon 5x gefragt aber das scheint nich zu reichen. Sorry happyhippo geht nicht gegen dich du bist einer von vielen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Weiß jemand, wann es einen internen Debugger/Linker geben wird? Dann hätte sich das Problem ja vermutlich erledigt...
@happyhippo:
FreePascal/Lazarus sind im Grunde nicht dran schuld. Die Binärdateien sind wegen den externen Debugger (GNU Debug) und den externen Linker LD so groß. Interne Debugger/Linker sind offenbar schon geplant - dann sollten diese Probleme behoben worden sein.
@happyhippo:
FreePascal/Lazarus sind im Grunde nicht dran schuld. Die Binärdateien sind wegen den externen Debugger (GNU Debug) und den externen Linker LD so groß. Interne Debugger/Linker sind offenbar schon geplant - dann sollten diese Probleme behoben worden sein.
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Hallo Leute!
Ich habe hierzu nochmal eine Frage:
Strip funktioniert wunderbar für 32-bit-Binärdateien. Frage: Gibt es auch ein Strip-Programm für 64-bit-Binärdateien ?
Das "normale" strip funktioniert hier bei mir nicht. Bei der 64-bit-Lazarusversion ist kein 64-bit-Strip beigelegt. 17 MB pro einfachem 64bit-Programm sind schon gewaltig. Naja, vielleicht weiß jemand von Euch, wie man die Datei kleiner bekommt (außer upx).
Gruß, Euklid
Ich habe hierzu nochmal eine Frage:
Strip funktioniert wunderbar für 32-bit-Binärdateien. Frage: Gibt es auch ein Strip-Programm für 64-bit-Binärdateien ?
Das "normale" strip funktioniert hier bei mir nicht. Bei der 64-bit-Lazarusversion ist kein 64-bit-Strip beigelegt. 17 MB pro einfachem 64bit-Programm sind schon gewaltig. Naja, vielleicht weiß jemand von Euch, wie man die Datei kleiner bekommt (außer upx).
Gruß, Euklid