![]() |
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 |
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. |
Re: Mapdatei verstehen
Eine gute (wenn auch recht alte) Beschreibung findest Du
![]() |
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