Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mapdatei verstehen (https://www.delphipraxis.net/84269-mapdatei-verstehen.html)

I.A 14. Jan 2007 14:51


Mapdatei verstehen
 
Hallo!

Hier ist mal ein Auszug aus einer Map Datei, wie sie vom Delphi-Compiler
erstellt wird.

Start Length Name Class
0001:00000000 00028498H .text CODE
0002:00000000 00000A70H .data DATA
0002:00000A70 00000751H .bss BSS


Detailed map of segments

0001:00000000 00004138 C=CODE S=.text G=(none) M=System ACBP=A9
0001:00004138 00000164 C=CODE S=.text G=(none) M=SysInit ACBP=A9
0001:0000429C 000007F4 C=CODE S=.text G=(none) M=Windows ACBP=A9

Ich habe dazu ein paar Fragen:

1) Was bedeutet die Angabe ".bss"?

2) Was bedeuten die Angaben "S", "ACBP=A9"?

M=Name bedeutet sicher, das der Codeteil sich in der Unit Name befindet.
G=(none)
G=(DGROUP)
G=(sicher ein Segmentname, wie er auch im TASM verwendet wird)

Aber bei den 2 Fragen brauche ich bissl Hilfe. Wer kann meine Fragen beantworten oder
eine aussagekräftige und verständliche Dokumentation zur .MAP Datei empfehlen?

Ich danke Euch jetzt schon im Voraus für Eure Hilfe

Robert Marquardt 14. Jan 2007 15:00

Re: Mapdatei verstehen
 
.text, .bss und .data sind Namen die noch von Unix stammen. Das sind Segmente. CODE, DATA und BSS sind die Namen wie sie im EXE verwendet werden.
In .bss sind uninitialisierte globale Variablen enthalten. Das bedeutet das das Segment im EXE garnicht vorhanden ist. Bei der Programmausfuehrung wird das Segment einfach seiner Groesse gemaess angelegt und mit 0 initialisiert.
.text enthaelt den ausfuehrbaren Code und .data die initialisierten globalen Variablen.

Union 14. Jan 2007 15:09

Re: Mapdatei verstehen
 
Eine gute (wenn auch recht alte) Beschreibung findest Du hier.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 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