【摘要】:一个目标文件中的每个段都是分开的且各不相同。在COFF目标文件中都包含了汇编程序中以下3种形式的段:1).text段(文本段)。已初始化段,由汇编器伪指令建立的自定义段。链接器的任务是分配存储单元,将目标文件中的段重新定位到目标系统的存储器中,这一过程称为定位或分配。图5-2 目标文件中的段与目标存储器之间的关系图5-2 目标文件中的段与目标存储器之间的关系
段是存储器中占据相邻空间的代码或数据块。一个目标文件中的每个段都是分开的且各不相同。在COFF目标文件中都包含了汇编程序中以下3种形式的段:
1).text段(文本段)。它通常包含可执行代码。
2).data段(数据段)。它通常包含初始化数据。
3).bss段(保留空间段)。它通常为未初始化变量保留存储空间。
此外,还有命名段(named sections)。
按照段内数据是否被初始化,这些段可以分为两大类:初始化段(initialized sections)和未初始化段(uninitialized sections)。
初始化段中包含有数据或程序代码,主要有:
1).text段。已初始化段。
2).data段。初始化段。(www.xing528.com)
3).sect段。已初始化段,由汇编器伪指令建立的自定义段。
未初始化段在存储空间中为未初始化数据保留存储空间,包括:
1).bss段。未初始化段。
2).usect段。未初始化段,由汇编命令建立的命名段(自定义段)。
在编译过程中,汇编器和链接器可以将数据和代码各个部分与段对应,并将其分配/定位到存储空间。一般说来,汇编器的任务是在汇编过程中,根据汇编命令用适当的段将各部分程序代码和数据连在一起,构成目标文件。链接器的任务是分配存储单元,将目标文件中的段重新定位到目标系统的存储器中,这一过程称为定位或分配。
目标文件中的段与目标存储器之间的关系如图5-2所示。
图5-2 目标文件中的段与目标存储器之间的关系
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。