链接器读取四个模块,其长度分别为200、800、600和500个字。如果按该顺序加载,重定位常量是什么?
(A) 0、200、500、600
(B) 0、200、1000、1600
(C) 200、500、600、800
(D) 200、700、1300、2100答案: (B)
说明:根据一个问题,链接器读取四个模块,其长度分别为200、800、600和500个字。如果加载了第一个模块,则它将从地址0开始,并且我们知道Size为200。因此它将占据前200个地址,而最后一个地址为199,因为它从0开始,因此第二个模块将以200至999的形式存在,作为第二个模块长度为800,而第三个模块的长度为600,则从1000到1599开始。同样,第四个模块的长度为1600至500B。
因此,重定位常数为0、200、1000、1600。为更好的理解,请参见下表。
Module Number | relocation base | limit ( length ) |
1 | 0 | 200 |
2 | 200 | 800 |
3 | 1000 | 600 |
4 | 1600 | 500 |
这个问题的测验