AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Map files - Wie komme ich auf die Gesamtgröße
Thema durchsuchen
Ansicht
Themen-Optionen

Map files - Wie komme ich auf die Gesamtgröße

Ein Thema von Union · begonnen am 25. Mär 2014 · letzter Beitrag vom 25. Mär 2014
Antwort Antwort
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#1

Map files - Wie komme ich auf die Gesamtgröße

  Alt 25. Mär 2014, 09:30
Ich benutze seit einiger Zeit ein Tool um mir die Größe verschiedener Module eines Projekts aus dem erzeugten Mapfile anzeigen zu lassen. Damit will ich ermitteln, ob überflüssige Module eingebunden sind, die die erzeugte ausführbare Datei aufblähen. Das Tool rechnet auch alles richtig zusammen (in Stichproben mit Taschenrechner verifiziert).

Ein gravierendes Problem gibt es aber: Die Summe aller Größen im Mapfile ergibt nie die Größe der ausführbaren Datei. Die ist immer 40%-50% größer als die Summen der Größen im Mapfile.

Wo ist mein Denkfehler?
Miniaturansicht angehängter Grafiken
mapfileview_win32.png   mapfileview_ios.png  
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Map files - Wie komme ich auf die Gesamtgröße

  Alt 25. Mär 2014, 09:34
Sind das nur die CODE- oder auch die DATA-Sektionen, Resourcen, Realloc-Tabelle und was es sonst noch gibt?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Map files - Wie komme ich auf die Gesamtgröße

  Alt 25. Mär 2014, 09:46
Ich werte für Win32 BSS, CODE, ICODE, und DATA aus. Bei ARM gibt es keine einfache Unterscheidung (außer man merkt sich die Section-Grenzen), da werte ich alles aus. Der Aufbau bei AARM ist auch relativ simpel: zunächst werden die gelinkten Objekte mit einer Nummer versehen und die wird dann bei jedem Symbol referenziert. So hat das FMX.Controls.iOs.o in dem Mapfile beispielsweise die Nummer [129] und die taucht dann später wieder auf.

Auch wenn ich die Segmentübersicht von Win32 addiere komme ich nicht auf die EXE-Größe:
Code:
 Start        Length    Name                  Class
 0001:00000000 0074B784H .text                  CODE
 0002:00000000 0001B8B4H .data                  DATA
 0002:0001B8B4 0010632DH .bss                   BSS
0x08FD365 -> 9.425.765 (tatsächlich 12.963.840 Bytes)
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all

Geändert von Union (25. Mär 2014 um 09:51 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 Uhr.
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