![]() |
EXE-Größe
Hallo,
habe gestern ein merkwürdiges Phänomen festgestellt. Bin gerade dabei, ein vorher mit D2006 entwickelte Anwendung auf D XE zu portieren. Dies geht auch soweit; die Größe der EXE ist dabei von knapp 10 MB auf rund 14 MB gewachsen, was sich durch Unicode, Verwenden von TMS-Smoothcontrols usw. sicher begründen lässt. Bei der Weiterentwicklung ohne wirklich gravierende Veränderungen ist die Größe der EXE plötzlich auf 33 MB angestiegen. Leider kann ich nicht genau sagen wann und warum. Debug-Infos an/abschalten bringen keine wesentlichen Änderungen. Die Summe der DCUs ist etwa 10 MB. Der Project-Analyser gibt folgende Zusammenfassung: Units: 629, Forms: 159, Code: 10213600, ICode: 182376, Data: 116260, Bss: 563564, Resources: 3136512 Das entspricht wieder 14 MB. Warum die 33 MB? Diese Größe ist schon lästig, da das Programm oft per Fernwartung übertragen werden soll. |
AW: EXE-Größe
Bist du sicher, dass du das richtige Häkchen weggenommen hast? Es gibt zweimal das Häkchen Debuginformationen, einmal unter Compilieren, einmal unter Linken.
Das Entscheidende für die Größe der Exe ist das unter Linken! |
AW: EXE-Größe
Ja die Häckchen sind raus. Auch die Infos geben nicht plausible Angaben:
Codegrösse: 10,4 MB Datengrösse: 0,6 MB Dateigröße 35 MB Alle Werte gerundet. |
AW: EXE-Größe
Sonst fiele mir nur mehr ein die .dcu Dateien und die .exe zu löschen und dann das Projekt neu zu erstellen.
Ich schaue mir mal an wie die Analysedaten sich bei mir zu der Dateigröße verhalten. (Auf dem Handy unterwegs geht das grad nicht gut.) |
AW: EXE-Größe
Zitat:
|
AW: EXE-Größe
XE hat gegenüber Delphi 2006 die erweiterte RTTI. Die bläht die .Exe auch nochmal etwas auf.
|
AW: EXE-Größe
Habe ich alles gemacht. DCUs gelöscht, immer komplett neu erstellt.
Die extreme Änderung der EXE Größe kam nicht sofort nach Portierung das ergab eine Änderung von 9,5 auf 13 MB,wie ich schon geschrieben habe. Damit kann ich klar kommen. Aber 35 MB sind mir zu viel. |
AW: EXE-Größe
Das steht bei mir in nahezu jeder *.dpr:
Delphi-Quellcode:
:-D:-D
{$IF CompilerVersion >= 17.0}
{$SetPEFlags 1} // 1 = Windows.IMAGE_FILE_RELOCS_STRIPPED {$IFEND} { Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) } {$IF CompilerVersion >= 21.0} {$WEAKLINKRTTI ON} {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} {$IFEND} (über den uses) |
AW: EXE-Größe
Wobei man da natürlich aufpassen muss, ob man die benutzt oder benutzen will. Hier wird das sicher nicht der Fall sein, aber bei einigen Tools, an denen ich arbeite, wären diese Zeilen vermutlich tödlich. ;-)
|
AW: EXE-Größe
Die Direktiven mache die EXE 3 MB kleiner, also immer noch 32 MB.
Habe mal ein anderes Projekt untersucht, da ist die Codegröße + Datengröße etwa die Größe der EXE. Sollte sich immer ein 20 MB großer Virus an meine EXE hängen? Kommt mir wenig wahrscheinlich vor. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz