在32位系统中,每个进程实际上具有2 ^ 32个字节的CONTIGUOUS地址空间.那么为什么链接器生成的最终可执行代码需要可重定位.有什么要求,因为生成的所有地址都是进程自己的地址空间中的虚拟地址,而其他进程不能使用相同的地址空间.因此,该过程可以放在它想要的任何地方.为什么要重新定位?
c linker operating-system loader virtual-memory
c ×1
linker ×1
loader ×1
operating-system ×1
virtual-memory ×1