题64

题目

[!error]+
Q:【2011 统考真题】在虚拟内存管理中, 地址变换机构将逻辑地址变换为物理地址, 形成该逻辑地址的阶段是 ( ) 。
A. 编辑
B. 编译
C. 链接
D. 装载

分析

[!NOTE]+
A:他说的形成逻辑地址,那肯定是编译的时候啊,选错了,链接的时候形成的才是整个程序虚拟地址

[!done]+
C
编译后的程序需要经过链接才能装载, 而链接后形成的目标程序中的地址也就是逻辑地址
语言为例: 程序经过预处理 编译 汇编 链接产生了可执行文件,其中链接的前一步是产生可重定位的二进制目标文件。
语言采用源文件独立编译的方法,如程序 main.c, file1.c, file2.c, file1.h, file2.h 在链接的前一步生成了 main.o, file1.o, file2.o, 这些目标模块的逻辑地址都从 0 开始, 但只是相对于该模块的逻辑地址
链接器将这三个文件、libc 和其库文件链接成一个可执行文件, 从而形成整个程序的完整逻辑地址空间
例如, filel.o 的逻辑地址为 , main.o 的逻辑地址为 ,假设链接时将 file1.o 链接在 main.o 之后,则链接之后 filel.o 对应的逻辑地址应为