首页 > 解决方案 > .text 和 .itext 内存段有什么区别?

问题描述

当我编译我的 Delphi 项目并指示编译器创建内存映射文件 (*.map) 时,它在文件顶部包含对已使用内存段的描述。

例子:

Start         Length     Name                   Class
0001:00401000 00475600H .text                   CODE
0002:00877000 00004998H .itext                  ICODE
0003:0087C000 00030410H .data                   DATA
0004:008AD000 00009170H .bss                    BSS
0005:00000000 00000278H .tls                    TLS

在查看PE 部分表文档时,仅“.text”和除“.itext”之外的其他部分列出。

该“.itext”段的目的是什么?它与“.text”有何不同?是 Delphi/Borland/Embarcadero 特定的扩展吗?

标签: windowsdelphiportable-executable

解决方案


itext段(带有Class = ICODE)类似于链接单元的初始化部分。


推荐阅读