![](https://lstatic.shangxueba.com/sxbzda/h5/images/m_q_title.png)
以下关于链接器基本功能的叙述中,错误的是()。
A.将每个符号引用与唯一的一个符号定义进行关联.
B.将每个.o文件中的.data节、.text节和.bss节分别合并
C.确定每个符号(包括全局变量和局部变量)的首地址
D.根据所定义符号的首地址对符号的引用进行重定位
![](https://lstatic.shangxueba.com/sxbzda/h5/images/tips_org.png)
A.将每个符号引用与唯一的一个符号定义进行关联.
B.将每个.o文件中的.data节、.text节和.bss节分别合并
C.确定每个符号(包括全局变量和局部变量)的首地址
D.根据所定义符号的首地址对符号的引用进行重定位
第1题
A.符号解析的目的是将符号引用与某月标模块中定义的符号建立关联
B.同一个符号名可能在多个模块中有定义,每个定义处的符号都须分配空间
C.本地符号的解析比较简单,只要与本模块内定义的符号关联即可
D.全局符号(包括外部符号)需将模块内的引用与模块外的定义符号绑定
第2题
以下是两个源程序文件:
对于上述两个源程序文件链接时的符号解析,错误的是()。
A.在m1中,定义了一个强符号main和一个弱符号p
B.在m2中,定义了一个强符号p和一个本地符号main
C.在ml中,对m2中定义的强符号p的引用只有一处
D.因为出现了两个强符号main,所以会发生链接错误
第3题
第4题
A.由模块m定义并能被其他模块引用的符号称为m的全局符号
B.由其他模块定义并被模块m引用的符号称为m的外部符号
C.由模块m定义并仅在m中引用的符号称为m的本地符号
D.在模块m内的某个函数中定义的局部变量称为m的局部符号
第5题
以下是两个源程序文件:
对于上述两个源程序文件链接时的符号解析。错误的是()。
A.在ml中,定义了一个强符号main和一个弱符只p
B.在m2中,定义了一个强符号p和一个强符多main
C.在模块ml的所有语句中,对符号pl的引用共有两处
D.因为出现了两个强符号main,所以会发生链接错误
第6题
以下有关重定位功能的叙述中,错误的是()
A.重定位的最终且标是重新确定各模块合并后每个引用所指向的目标地址
B.重定位的第一步应先将相同的节合并,且将具有相同存取属性的节合并成段
C.重定位的第二步是确定每个段的起始地址,并确定段内每个定义处符号的地址
D.重定位的最后一步是将引用处的地址修改为与之关联(绑定)的定义处的首地址
第7题
A.模块内函数之间的调用可用PC相对地址实现.无需动态链接器进行重定位
B.模块内数据的引用无需动态链接器进行重定位,因为引用与定义间相对位置固定
C.模块外数据的引用需要动态链接器进行重定位,重定位时在GOT中填入外部数据的地址
D.模块间函数调用需要动态链接器进行重定位,重定位时在GOT和PLT中填入相应内容
第8题
A.可以通过符号链接文件来读、写和执行源文件
B.符号链接文件和源文件实际上是同一个文件
C.删除源文件,符号链接文件将变得不可用
D.不能为符号链接文件再创建符号链接
第9题
以下是两个源程序文件:
对于上述两个源程序文件链接时的符号解析,错误的是()。
A.ml中对x的两处引用都与ml中对x的定义绑定
B.m2中对x的引用与m2中对x的定义绑定
C.m2中的变量p1与函数p1被分配在不同存储区
D.虽然x、main和pl都出现了多次定义,但不会发生链接错误
第10题
文件或静态库文件参数),使得链接器能够解析所有符号引用。
(I ) p.o→libx.a→liby.a→ p.o
(2) p.o→libx.a→liby.a 同时 liby.a→libx.a
(3) p.o→libx.a→liby.a→ libza 同时 liby.a→ libx.a→libz.a
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!