计算机系统基础(一):程序的表示、转换与链接(第十周小测验)
1.以下是有关使用GCC生成C语言程序的可执行文件的叙述,其中错误的是( )。
A.第二步编译,将预处理结果编译转换为二进制形式的汇编语言程序代码
B.第一步预处理,对#include、#define、#ifdef等预处理命令进行处理
C.第三步汇编,将汇编语言代码汇编转换为机器指令表示的机器语言代码
D.第四步链接,将多个模块的机器语言代码链接生成可执行目标程序文件
B.第一步预处理,对#include、#define、#ifdef等预处理命令进行处理
C.第三步汇编,将汇编语言代码汇编转换为机器指令表示的机器语言代码
D.第四步链接,将多个模块的机器语言代码链接生成可执行目标程序文件
2.以下是有关使用GCC生成C语言程序的可执行文件的叙述,其中错误的是( )。
A.预处理的结果还是一个C语言源程序文件,属于可读的文本文件
B.每个C语言源程序文件生成一个对应的可重定位目标文件
C.只要在链接命令中指定所有的相关可重定位目标文件就能生成可执行文件
D.经过预处理、编译和汇编处理的结果是一个可重定位目标文件
B.每个C语言源程序文件生成一个对应的可重定位目标文件
C.只要在链接命令中指定所有的相关可重定位目标文件就能生成可执行文件
D.经过预处理、编译和汇编处理的结果是一个可重定位目标文件
3.以下是有关链接所带来的好处和不足的叙述,错误的是( )。
A.使得所生成的可执行目标代码中包含了更多公共库函数代码,所占空间大
B.使得程序员仅需重新编译修改过的源程序模块,从而节省程序开发时间
C.使得公共函数库可以为所有程序共享使用,有利于代码重用和提高效率
D.使得程序员可以分模块开发程序,有利于提高大规模程序的开发效率
B.使得程序员仅需重新编译修改过的源程序模块,从而节省程序开发时间
C.使得公共函数库可以为所有程序共享使用,有利于代码重用和提高效率
D.使得程序员可以分模块开发程序,有利于提高大规模程序的开发效率
4.以下关于ELF目标文件格式的叙述中,错误的是( )。
A.可执行目标文件是ELF格式的执行视图,由不同的段组成
B.可重定位和可执行两种目标文件中的数据都是二进制表示的补码形式
C.可重定位和可执行两种目标文件中的代码都是二进制表示的指令形式
D.可重定位目标文件是ELF格式的链接视图,由不同的节组成
B.可重定位和可执行两种目标文件中的数据都是二进制表示的补码形式
C.可重定位和可执行两种目标文件中的代码都是二进制表示的指令形式
D.可重定位目标文件是ELF格式的链接视图,由不同的节组成
5.以下关于链接器基本功能的叙述中,错误的是( )。
A.将每个.o文件中的.data节、.text节和.bss节合并
B.将每个符号引用与唯一的一个符号定义进行关联
C.确定每个符号(包括全局变量和局部变量)的首地址
D.根据所定义符号的首地址对符号的引用进行重定位
B.将每个符号引用与唯一的一个符号定义进行关联
C.确定每个符号(包括全局变量和局部变量)的首地址
D.根据所定义符号的首地址对符号的引用进行重定位
6.以下关于可重定位目标文件的叙述中,错误的是( )。
A.在.text节中包含相应模块内所有机器代码
B.在.rodata节中包含相应模块内所有只读数据
C.在.data节中包含相应模块内所有变量的初始值
D.在.rel.text节和.rel.data节中包含相应模块内所有可重定位信息
B.在.rodata节中包含相应模块内所有只读数据
C.在.data节中包含相应模块内所有变量的初始值
D.在.rel.text节和.rel.data节中包含相应模块内所有可重定位信息
7.以下关于ELF目标文件的ELF头的叙述中,错误的是( )。
A.数据结构在可重定位和可执行两种目标文件中完全一样
B.包含了ELF头本身的长度和目标文件的长度
C.包含了节头表和程序头表各自的起始位置和长度
D.包含了操作系统版本和机器结构类型等信息
B.包含了ELF头本身的长度和目标文件的长度
C.包含了节头表和程序头表各自的起始位置和长度
D.包含了操作系统版本和机器结构类型等信息
8.以下关于ELF目标文件的节头表的叙述中,错误的是( )。
A.通过节头表可获得节的名称、类型、起始地址和长度
B.数据结构在可重定位和可执行两种目标文件中完全一样
C.每个表项用来记录某个节的内容以及相关描述信息
D.描述了每个可装入节的起始虚拟地址、对齐和存取方式
B.数据结构在可重定位和可执行两种目标文件中完全一样
C.每个表项用来记录某个节的内容以及相关描述信息
D.描述了每个可装入节的起始虚拟地址、对齐和存取方式
9.以下关于ELF可重定位和可执行两种目标文件格式比较的叙述中,错误的是( )。
A.可重定位目标文件中有初始化程序段.init节,而在可执行目标文件中则没有
B.可重定位目标文件中有可重定位节.rel.text和.rel.data,而在可执行目标文件中则没有
C.可执行目标文件的ELF头中有具体程序入口地址,而在可重定位目标文件中则为0
D.可执行目标文件中有程序头表(段头表),而在可重定位目标文件中则没有
B.可重定位目标文件中有可重定位节.rel.text和.rel.data,而在可执行目标文件中则没有
C.可执行目标文件的ELF头中有具体程序入口地址,而在可重定位目标文件中则为0
D.可执行目标文件中有程序头表(段头表),而在可重定位目标文件中则没有
10.以下关于ELF可执行目标文件的程序头表(段头表)的叙述中,错误的是( )。
A.描述了每个可装入段的起始虚拟地址、存储长度、存取方式和对齐方式
B.通过段头表可获得可装入段或特殊段的类型、在文件中的偏移位置及长度
C.用于描述可执行文件中的节与主存中的存储段之间的映射关系
D..text节和.rodata节都包含在只读代码段,而.data节和.bss节都包含在读写数据段
B.通过段头表可获得可装入段或特殊段的类型、在文件中的偏移位置及长度
C.用于描述可执行文件中的节与主存中的存储段之间的映射关系
D..text节和.rodata节都包含在只读代码段,而.data节和.bss节都包含在读写数据段