Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#24

AW: Lazarus, EXE groß

  Alt 7. Okt 2012, 12:58
Weißt du wofür das Ding da ist?

Wenn Windows die Datei im Speicher verschieben muß, dann kann es darüber die Adressen anpassen.
Wird das nicht gemacht, dann funktioniert der Code nicht mehr und es passiert sonstwas Unschönes.

Ja, aktuell ist es so, daß Windows die EXE als Erstes in den Speicher läd, womit noch nirgendwo etwas belegt ist und die EXE (im Gegensatz zu einer DLL) nie verschoben werden muß.
Aber wer weiß ob Windows daran mal was ändert.
Und dann will man ja gleich noch mehr laden, also nutzt man UPX und Co., aber schon hat man ein grßes Problem, denn dann ist die "EXE" nicht mehr das Erste, denn der Preloader wird vorgeschaltet, welche die "EXE" dann entpackt und läd ... schwups, kann es sein, daß die "EXE" verschoben werden könnten und *peng*

Das war ein Beispiel dafür, was man machen könnte (wenn man weiß was man macht), aber was man nicht unbedingt machen sollte.
Stattdessen gibt es ja noch genügend "offizielle" Wege, wie man was loswerden könnte.
http://www.delphipraxis.net/170853-l...ml#post1185990
http://www.delphipraxis.net/170520-d...ml#post1183801
... (sowas Ähnliches wurde hier ja auch für Lazarus genannt)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat