Delphi-PRAXiS
Seite 3 von 7     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Wie bekomme ich die exe kleiner? (https://www.delphipraxis.net/203240-wie-bekomme-ich-die-exe-kleiner.html)

Rolf Frei 28. Jan 2020 17:02

AW: Wie bekomme ich die exe kleiner?
 
Zitat:

Zitat von himitsu (Beitrag 1456191)
IMAGE_FILE_RELOCS_STRIPPED:

Und damit blockierst du gleich ein Sicherheitsfeature des Betriebssystems.
Dort werden (wenn aktiv) die DLLs/EXEn im RAM willkürlich verschoben, damit mit böse Häcker in ihren Viren/Trojanern/... nicht einfach mit statischen Adressen in fremdem RAM Programmcode umschreiben können, weil das Gewünschte dann ja jedes Mal wo anders liegt. (beliebt z.B. in Buffer Overflow Exploits)

Und für DLLs ist es auch noch fatal, wenn an dieser Adresse eine andere DLL oder die EXE bereits geladen ist und Windows somit deine DLL verschieben müsste, was es aber nicht mehr kann,
vor allem auch deswegen, weil kaum jemand die ImageBase definiert und 99,99% aller Delphi-DLLs und EXEn eigentlich auf der selben Adresse liegen. ($00400000))

Es geht hier aber um die Grösse einer EXE und nicht einer DLL. Von daher ist das problemlos nutzbar und bringt den grössten Erfolg. Wenn man die Doku zu diesem Flag liest, ist klar, dass man das bei einer DLL nicht nutzen sollte/darf.

himitsu 28. Jan 2020 18:20

AW: Wie bekomme ich die exe kleiner?
 
EXE und DLL ist das Selbe.


Und wenn man ExePacker nutzt, dann kann das Entfernen hier auch mal zu problemen führen. (wenn zufällig der PackerCode an der selben Stelle geladen wird und er dann die EXE nicht auf seine Stelle bekommt, oder diese Stelle durch was Anderes belegt ist, wie z.B. eine DLL, welche global in alle Anwendungen injiziert wird)

DieDolly 28. Jan 2020 18:35

AW: Wie bekomme ich die exe kleiner?
 
Über Größen von Exedateien sollte sich heute keiner mehr Gedanken machen. Selbst wer nur 1 GB Arbeitsspeicher hat, bekommt keine Probleme ob die Exe nun 10 MB oder 5 MB groß ist.

Das ist alles Jammern auf hohem Niveau, mehr nicht.
Was man aber definitiv machen sollte ist, auf Release umzustellen.

himitsu 28. Jan 2020 19:00

AW: Wie bekomme ich die exe kleiner?
 
Klar ... keine Gedanken ... aber wenn man 0,7 MB (einstellige Delphiversionen) mit Richtung 20 MB aktuelle Version für eine nichtstuende Anwendung betrachtet, dann ist es dennoch nicht ganz OK.

In Richtung Mobile mit keinerem Speicher im Handy geht es aber auch heute wieder los
und auch wenn man schonmal in Richtung MiniPCs ala Raspberry (auch wenn Delphi das wohl nie können wird) oder SmartWatch lunscht.

DieDolly 28. Jan 2020 19:05

AW: Wie bekomme ich die exe kleiner?
 
Eine frische Anwendung erstellt mit 10.3.3 (Debug) hat bei mir 12 MB. Release 2.3 :stupid:

Bernhard Geyer 28. Jan 2020 19:20

AW: Wie bekomme ich die exe kleiner?
 
Zitat:

Zitat von himitsu (Beitrag 1456226)
Klar ... keine Gedanken ... aber wenn man 0,7 MB (einstellige Delphiversionen) mit Richtung 20 MB aktuelle Version für eine nichtstuende Anwendung betrachtet, dann ist es dennoch nicht ganz OK.

Beim Umsteig von D6 auf XE6 ist unserer Hauptanwendung von 18 auf 24 MB gewachsen.
Der später Umstieg von XE6 auf 10.2 war praktisch nicht mehr relevant.
Was aber relevant war, waren die Produktivitätszuwächse (Sprachfeatures, Höhere IDE-Stabilität, Besseres Debugging) und die Reduzierung der Problem durch den Compiler (Abstürze D6 mit Multisockel-Systemen)


Zitat:

Zitat von himitsu (Beitrag 1456226)
In Richtung Mobile mit keinerem Speicher im Handy geht es aber auch heute wieder los

Eigentlich ist die Zeit schon wieder vorbei. Vor 5 Jahren war es noch ein relevantes Thema. Heut bekommt man Speicher selbst bei den Einstiegsgeräten "nachgeschmissen".
Heute zählt Funktionalität. Ob die Anwendung nun 5 oder 20 MB benötigt - Interessiert doch keinen mehr.

himitsu 28. Jan 2020 19:52

AW: Wie bekomme ich die exe kleiner?
 
Och, bei 64GB oder 32GB mit MultiUser im Android, da ist schnell sowas von voll.

Sherlock 29. Jan 2020 09:51

AW: Wie bekomme ich die exe kleiner?
 
Zitat:

Zitat von himitsu (Beitrag 1456231)
Och, bei 64GB oder 32GB mit MultiUser im Android, da ist schnell sowas von voll.

Da nutzt aber auch kein UPX :lol: Ich befürchte, für die "exotischen" OSe, die Delphi anvisiert, werden wir noch lange auf eine optimierte Dateigröße warten dürfen...sofern es keine Forderungen durch die jeweiligen OS-Hersteller gibt.

Sherlock

TurboMagic 29. Jan 2020 11:57

AW: Wie bekomme ich die exe kleiner?
 
Ja, die bisherigen Maßnahmen in dem Bereich waren mehrheitlich eher kosmetischer Natur.

Rolf Frei 29. Jan 2020 13:19

AW: Wie bekomme ich die exe kleiner?
 
Zitat:

Zitat von himitsu (Beitrag 1456223)
EXE und DLL ist das Selbe.

Ehm, nein ist es nicht. Eine Exe muss nicht "reallocated" werden, eine DLL hingegen schon, wenn alle die gleiche Base-Adresse haben. Google mal danach.

Zitat:

IMAGE_FILE_RELOCS_STRIPPED removes the relocation (".reloc") section from Win32 PE EXE files, reducing their size. Most compilers/linkers (including Delphi) put a relocation section in EXE files, but this is actually not necessary since EXEs never get relocated. Hence, a relocation section only wastes space.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.
Seite 3 von 7     123 45     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz