1. 空间与地址分配
是一个相似段合并的过程。
step one,空间与地址分配
step two,符号解析与重定位
链接之前,目标文件中的所有段的VMA都是0。
.text or .data的VMA(虚拟地址)为什么不为0?这涉及操作系统的进程虚拟地址空间的分配原则。
当虚拟空间地址分配完之后,就可以根据所分配的虚拟空间地址确定符号的地址。
2. 符号解析与重定位
重定位表
重定位表的结构:
R_366_32 绝对寻址修正 S+A
R_386_PC32 相对寻址修正 S+A-P
C++相关问题
全局构造函数与析构函数
ELF文件定义了两种特殊的段.init, .fini分别存放初始化代码和进程终止代码指令.
最小的程序
不使用库函数