Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Größe Exe-Datei XE2 -> XE4 (https://www.delphipraxis.net/174481-groesse-exe-datei-xe2-xe4.html)

Sir Rufo 24. Apr 2013 15:46

AW: Größe Exe-Datei XE2 -> XE4
 
Zitat:

Zitat von p80286 (Beitrag 1212727)
Zitat:

Zitat von Sir Rufo (Beitrag 1212709)
Wenn z.B. die SysUtils um ein paar Funktionen erweitert wurde dann wird die komplette (größere) SysUtils.dcu in dein Projekt compiliert. Rein rechnerisch wird es dadurch nicht kleiner.

War da nicht mal was mit "nur was benötigt wird wird auch compiliert"?

Gruß
K-H

Wenn eine DCU vorliegt, dann wird die nicht mehr compiliert ;)

PS: Und es ist immer wieder schön zu sehen, wenn einige Packages nur im Debug-Modus erstellt werden. Das geht dann auch so in das Programm rein, egal ob Release oder nicht

Stevie 24. Apr 2013 17:16

AW: Größe Exe-Datei XE2 -> XE4
 
Zitat:

Zitat von Daniel (Beitrag 1212724)
Der Moment, in dem Du Dich fragst, wozu das gut ist, sollte schon ein hinreichendes Indiz dafür sein, dass Du es nicht verwendest, denn sonst wüsstest Du es. ;-) (Stark verkürzte Aussage, ich weiß ...)

Da möchte ich mal dezent widersprechen - ich weiß nicht, ob jedem direkt klar ist, dass LiveBindings nur mit RTTI funktionieren.

Zitat:

Zitat von Sir Rufo (Beitrag 1212729)
Wenn eine DCU vorliegt, dann wird die nicht mehr compiliert ;)

PS: Und es ist immer wieder schön zu sehen, wenn einige Packages nur im Debug-Modus erstellt werden. Das geht dann auch so in das Programm rein, egal ob Release oder nicht

Verwechsel hier nicht Compilereinstellungen (Release oder Debug) mit dem entfernen von ungenutztem Code durch den Linker.

Kompiliert wird immer alles, was im Projekt vorhanden ist - sofern der Code vorhanden (leicht zu testen, indem du in eine Methode, die niemals aufgerufen wird, einen Compilefehler einbaust). Allerdings entfernt Linker danach dann soweit möglich das, was nicht benutzt wird.

Aus diesem Grunde muss man sich manchmal mit kleinen Tricks behelfen, dass eine Klasse drin bleibt (indem man sie z.b. im initialization Part referenziert), wenn sie nämlich nur über RTTI anspricht.

sx2008 24. Apr 2013 18:19

AW: Größe Exe-Datei XE2 -> XE4
 
Mit StripReloc kann man 32bit Executables noch einige Prozent verkleinern indem die unnötige Relocation-Tabelle entfernt wird.

Delphi-Laie 24. Apr 2013 19:30

AW: Größe Exe-Datei XE2 -> XE4
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1212712)
Als XE4-x32-Version ist es fast 1MB kleiner als die XE2-Version.

Wie, das Nachfolgedelphi (übernächste Version) generiert ein deutlich kleineres Compilat?

Hatte ich bisher grundsätzlich anders, nämlich umgekehrt erfahren. Ein Problem, das Borland & Co. nie in den Griff bekamen - sofern sie es als solches überhauupt erkannten und angingen.

Ansonsten kann man mit viel Handarbeit einiges erreichen: http://www.zipplet.co.uk/index.php/c...delphi2010rtti

Zitat:

Zitat von Sir Rufo (Beitrag 1212707)
Mit erweitertem RTTI oder nicht

Darf ich fragen, wo man "erweiterte" RTTI ein- bzw. ausschalten kann? Wenn es "erweiterte" gibt, muß es zudem logischerweise auch einfache geben. Ich kenne nur die, was sich (weitgehend) entfernen lassen, ohne in einfache oder erweiterte zu unterscheiden.

Sir Rufo 24. Apr 2013 21:19

AW: Größe Exe-Datei XE2 -> XE4
 
Published Properties können schon gefühlt seit Ewigkeiten ausgelesen werden (RTTI).

Für den Zugriff auf Fields (private, protected, etc.) wird aber die erweiterte RTTI benötigt

UliBru 25. Apr 2013 07:35

AW: Größe Exe-Datei XE2 -> XE4
 
Zitat:

Zitat von Daniel (Beitrag 1212724)
Die RTTI-Infos benötigst Du genau dann, wenn Du zur Laufzeit dynamisch auf Deine Objekte zugreifen möchtest.
...
Der Moment, in dem Du Dich fragst, wozu das gut ist, sollte schon ein hinreichendes Indiz dafür sein, dass Du es nicht verwendest, denn sonst wüsstest Du es. ;-) (Stark verkürzte Aussage, ich weiß ...)

Ich weiss für mich in diesem Sinn wohl, dass ich da selbst keine RTTI-Info verwende. Ich weiss aber nicht, ob da nicht in einer der verwendeten Bibliotheken vielleicht jemand davon Gebrauch macht. Kann man das feststellen?

Grüsse
Uli

Bernhard Geyer 25. Apr 2013 08:30

AW: Größe Exe-Datei XE2 -> XE4
 
Zitat:

Zitat von UliBru (Beitrag 1212792)
Ich weiss für mich in diesem Sinn wohl, dass ich da selbst keine RTTI-Info verwende. Ich weiss aber nicht, ob da nicht in einer der verwendeten Bibliotheken vielleicht jemand davon Gebrauch macht. Kann man das feststellen?

Die Basis-RTTI ist zwingend nötig. Sonst könnte die Exe die Formulare aus den dfm's nicht mehr herstellen.

Bei der erweiterten RTTI wird es darauf ankommen welche Minimale Delphi-Version sie unterstützt. Falls D7 dabei ist wird sie nicht benötigt.
Ansonsten mal den Hersteller fragen. Dieser sollte über IFOPT-Abfraggen entsprechende Compilerfehler erzeugen falls er sie benötigt aber nicht vorhanden sind.

Der schöne Günther 16. Mai 2013 12:59

AW: Größe Exe-Datei XE2 -> XE4
 
Gerade XE4 installiert, das gleiche Projekt ist (Debug-Fassung) ist von XE2 auf XE4 von 8,44 auf 11,8MB gewachsen. Nicht dass es mich stören würde, aber schon heftig...

Stevie 16. Mai 2013 16:05

AW: Größe Exe-Datei XE2 -> XE4
 
Die Benutzung von Generics in der RTL (glaube ab XE3) äußert sich nunmal in einer größeren Binary.

MEissing 16. Mai 2013 18:02

AW: Größe Exe-Datei XE2 -> XE4
 
http://blogs.embarcadero.com/matthia...13/04/26/38698


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:15 Uhr.
Seite 2 von 6     12 34     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