单项选择题
假定“int buf[2]={10,50};”所定义的buf被分配在静态数据区,其首地址为0x8048930,bufp1为全局变量,也被分配在静态数据区。以下关于“bufp1=&buf[1];”的重定位的描述中,错误的是()。
A.在可重定位目标文件的.rel.text节中,有一个与buf相关的重定位条目
B.可用一条mov指令实现该赋值语句,该mov指令中有两处需要重定位
C.在可重定位目标文件的.rel.data节中,有一个与bufp1相关的重定位条目
D.在相应的重定位条目中,对bufp1和buf的引用均采用绝对地址方式
点击查看答案
相关考题
-
单项选择题
假定“int buf[2]={10,50};”所定义的buf被分配在静态数据区,其首地址为0x8048930,bufp1为全局变量,被分配在buf随后的存储空间。以下关于“int *bufp1=&buf[1];”的重定位的描述中,错误的是()。
A.在可执行目标文件中,地址0x8048938开始的4个字节为34H、89H、04H、08H
B.bufp1的地址为0x8048938,重定位前的内容为04H、00H、00H、00H
C.在可重定位目标文件的.rel.data节中,有一个引用buf的重定位条目
D.在相应的重定位条目中,对bufp1和buf的引用均采用绝对地址方式 -
单项选择题
以下有关重定位信息的叙述中,错误的是()。
A.重定位信息包含需重定位的位置、绑定的符号和重定位类型
B.数据中的重定位信息在可重定位目标文件的.rel.data节中
C.重定位信息是由编译器在生成汇编指令时产生的
D.指令中的重定位信息在可重定位目标文件的.rel.text节中 -
单项选择题
以下有关重定位功能的叙述中,错误的是()。
A.重定位的第一步应先将相同的节合并,且将具有相同存取属性的节合并成段
B.重定位的最终目标是重新确定各模块合并后每个引用所指向的目标地址
C.重定位的最后一步是将引用处的地址修改为与之关联(绑定)的定义处的首地址
D.重定位的第二步是确定每个段的起始地址,并确定段内每个定义处符号的地址
