计算机系统基础(一):程序的表示、转换与链接 第十周小测验

大多数只是猜测,所以只能作为参考. 我发的另外一份这些题好像都有,但是因为这份我也做了一些注释,也懒得合并两个文档了,就都发了
1单选(0.5分)
以下是有关使用GCC生成C语言程序的可执行文件的叙述,其中错误的是( )。

得分/总分

A.
第二步编译,将预处理结果编译转换为二进制形式的汇编语言程序代码

0.50/0.50

B.
第一步预处理,对#include、#define、#ifdef等预处理命令进行处理

C.
第四步链接,将多个模块的机器语言代码链接生成可执行目标程序文件

D.
第三步汇编,将汇编语言代码汇编转换为机器指令表示的机器语言代码

正确答案:A你选对了
2单选(0.5分)
以下是有关使用GCC生成C语言程序的可执行文件的叙述,其中错误的是( )。

得分/总分

A.
经过预处理、编译和汇编处理的结果是一个可重定位目标文件

B.
每个C语言源程序文件生成一个对应的可重定位目标文件

C.
预处理的结果还是一个C语言源程序文件,属于可读的文本文件

D.
只要在链接命令中指定所有的相关可重定位目标文件就能生成可执行文件

0.50/0.50
正确答案:D你选对了
3单选(0.5分)
以下是有关链接所带来的好处和不足的叙述,错误的是( )。

得分/总分

A.
使得公共函数库可以为所有程序共享使用,有利于代码重用和提高效率

B.
使得所生成的可执行目标代码中包含了更多公共库函数代码,所占空间大

0.50/0.50

C.
使得程序员仅需重新编译修改过的源程序模块,从而节省程序开发时间

D.
使得程序员可以分模块开发程序,有利于提高大规模程序的开发效率

正确答案:B你选对了
4单选(0.5分)
以下关于ELF目标文件格式的叙述中,错误的是( )。

得分/总分

A.
可执行目标文件是ELF格式的执行视图,由不同的段组成

B.
可重定位和可执行两种目标文件中的数据都是二进制表示的补码形式 1

C.
可重定位目标文件是ELF格式的链接视图,由不同的节组成

D.
可重定位和可执行两种目标文件中的代码都是二进制表示的指令形式

正确答案:B你没选择任何选项
5单选(0.5分)
以下关于链接器基本功能的叙述中,错误的是( )。

得分/总分

A.
将每个符号引用与唯一的一个符号定义进行关联

B.
确定每个符号(包括全局变量和局部变量)的首地址
局部变量 不是符号

C.
根据所定义符号的首地址对符号的引用进行重定位

D.
将每个.o文件中的.data节、.text节和.bss节合并

正确答案:B你没选择任何选项
6单选(0.5分)
以下关于可重定位目标文件的叙述中,错误的是( )。

得分/总分

A.
在.rel.text节和.rel.data节中包含相应模块内所有可重定位信息

B.
在.text节中包含相应模块内所有机器代码

C.
在.rodata节中包含相应模块内所有只读数据

D.
在.data节中包含相应模块内所有变量的初始值
猜一下 外部变量可能没有吧 只是猜测
正确答案:D你没选择任何选项

7单选(0.5分)
以下关于ELF目标文件的ELF头的叙述中,错误的是( )。

得分/总分

A.
包含了节头表和程序头表各自的起始位置和长度

B.
包含了ELF头本身的长度和目标文件的长度
好像没有说有目标文件的长度
书本p188

C.
数据结构在可重定位和可执行两种目标文件中完全一样

D.
包含了操作系统版本和机器结构类型等信息

正确答案:B你没选择任何选项



8单选(0.5分)
以下关于ELF目标文件的节头表的叙述中,错误的是( )。

得分/总分

A.
每个表项用来记录某个节的内容以及相关描述信息

B.
描述了每个可装入节的起始虚拟地址、对齐和存取方式

C.
数据结构在可重定位和可执行两种目标文件中完全一样

D.
通过节头表可获得节的名称、类型、起始地址和长度

正确答案:A你没选择任何选项


9单选(0.5分) 以下关于ELF可重定位和可执行两种目标文件格式比较的叙述中,错误的是( )。

得分/总分

A.
可执行目标文件的ELF头中有具体程序入口地址,而在可重定位目标文件中则为0

B.
可执行目标文件中有程序头表(段头表),而在可重定位目标文件中则没有

C.
可重定位目标文件中有可重定位节.rel.text和.rel.data,而在可执行目标文件中则没有

D.
可重定位目标文件中有初始化程序段.init节,而在可执行目标文件中则没有

正确答案:D你没选择任何选项

10单选(0.5分)
以下关于ELF可执行目标文件的程序头表(段头表)的叙述中,错误的是( )。

得分/总分

A.
用于描述可执行文件中的节与主存中的存储段之间的映射关系

B.
通过段头表可获得可装入段或特殊段的类型、在文件中的偏移位置及长度

C.
描述了每个可装入段的起始虚拟地址、存储长度、存取方式和对齐方式

D.
.text节和.rodata节都包含在只读代码段,而.data节和.bss节都包含在读写数据段

正确答案:A你没选择任何选项

上一篇:Linux上的可执行格式列表


下一篇:服务端分页+客户端排序