了解Delphi MAP文件

前端之家收集整理的这篇文章主要介绍了了解Delphi MAP文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下是我的测试项目中的MAP文件示例…
.......
 .......
 .......
 0001:001EFC14 00000020 C=CODE     S=.text    G=(none)   M=Vcl.CategoryButtons ACBP=A9
 0001:001EFC34 0000284C C=CODE     S=.text    G=(none)   M=Vcl.SysStyles ACBP=A9
 0001:001F2480 000407A8 C=CODE     S=.text    G=(none)   M=Vcl.Styles ACBP=A9
 0001:00232C28 00006998 C=CODE     S=.text    G=(none)   M=MainU ACBP=A9
 0002:00000000 000000B4 C=ICODE    S=.itext   G=(none)   M=System   ACBP=A9
 0002:000000B4 00000008 C=ICODE    S=.itext   G=(none)   M=SysInit  ACBP=A9
 ..... 
 .....

我的单位(MainU)位于00232C28至00006998.至此,内存地址前缀为0001.从下一个单元开始,始于0002等.

这是什么意思?

同样,什么是’C =’,’S =”G =”M =’和’ACBP =’?

解决方法

格式为:
SegmentId:StartAddress长度C = SegmentClass S = SegmentName G = SegmentGroup M = ModuleName

ACBP与对齐有关,但我不能告诉你十六进制数字是什么意思.

C = CODE:代码
C = ICODE:初始化代码
C = DATA:(已初始化)数据段
C = BSS:(未初始化)数据段
C = TLS:线程本地存储

G =(无):无段组

原文链接:https://www.f2er.com/delphi/102643.html

猜你在找的Delphi相关文章