题目内容 (请给出正确答案)
[主观题]

以下每一小题给出了两个源程序文件,它们被分别编译生成可重定位目标模块m1.o和m2.0。在模块m

以下每一小题给出了两个源程序文件,它们被分别编译生成可重定位目标模块m1.o和m2.0。在模块mj中对符号x的任意引用与模块mi中定义的符号x关联记为REF(mj.x) -DEF(mi.x)。请在下列空格处填写模块名和符号可以说明给出的引用符号所关联的定义符号。若发生链接错误,则说明其原因;若从多个定义符号中任选,则给出全部可能的定义符号,若是局部变量,则说明不存在关联。

以下每一小题给出了两个源程序文件,它们被分别编译生成可重定位目标模块m1.o和m2.0。在模块mj中以下每一小题给出了两个源程序文件,它们被分别编译生成可重定位目标模块m1.o和m2.0。在模块mj中

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“ 以下每一小题给出了两个源程序文件,它们被分别编译生成可重定…”相关的问题

第1题

假设一个C语言程序有两个源文件: main.c 和test.c,它们的内容如图4.1所示。对于编译生成的可重

假设一个C语言程序有两个源文件: main.c 和test.c,它们的内容如图4.1所示。

对于编译生成的可重定位目标文件test.o,填写表4.1中各符号的情况,说明每个符号是否出现在test.o的符号表(.symtab节)中,如果是,定义该符号的模块是main.o还是test.o?该符号的类型是全局、外部,还是本地符号?该符号出现在相应定义模块的哪个节(.text、.data或,bss) ?

点击查看答案

第2题

以下有关使用GCC生成C语言程序的可执行文件的叙述中,错误的是()。
以下有关使用GCC生成C语言程序的可执行文件的叙述中,错误的是()。

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

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

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

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

点击查看答案

第3题

以下是两个源程序文件:对于上述两个源程序文件链接时的符号解析。错误的是()。A.在ml中,定义了
以下是两个源程序文件:对于上述两个源程序文件链接时的符号解析。错误的是()。A.在ml中,定义了

以下是两个源程序文件:

对于上述两个源程序文件链接时的符号解析。错误的是()。

A.在ml中,定义了一个强符号main和一个弱符只p

B.在m2中,定义了一个强符号p和一个强符多main

C.在模块ml的所有语句中,对符号pl的引用共有两处

D.因为出现了两个强符号main,所以会发生链接错误

点击查看答案

第4题

以下关于可重定位目标文件的叙述中,错误的是()。
以下关于可重定位目标文件的叙述中,错误的是()。

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

B.在.data节中包含相应模块内所有变量的初始值

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

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

点击查看答案

第5题

假定a和b是可重定位目标文件或静态库文件,a→b表示b中定义了一个被a引用的符号。对于以下每一小
题出现的情况,给出一个最短命令行(含有最少数量的可重定位目标

文件或静态库文件参数),使得链接器能够解析所有符号引用。

(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

点击查看答案

第6题

以下是两个源程序文件:对于上述两个源程序文件链接时的符号解析,错误的是()。A.ml中对x的两处
以下是两个源程序文件:对于上述两个源程序文件链接时的符号解析,错误的是()。A.ml中对x的两处

以下是两个源程序文件:

对于上述两个源程序文件链接时的符号解析,错误的是()。

A.ml中对x的两处引用都与ml中对x的定义绑定

B.m2中对x的引用与m2中对x的定义绑定

C.m2中的变量p1与函数p1被分配在不同存储区

D.虽然x、main和pl都出现了多次定义,但不会发生链接错误

点击查看答案

第7题

一个共享库文件(.so文件)由多个模块(.o文件)生成:在生成共享阵文件的过程中,需要对.o文件进行处理,以生成位置无关代码。以下有关位置无关代码(PIC)生成的叙述中,错误的是()。
一个共享库文件(.so文件)由多个模块(.o文件)生成:在生成共享阵文件的过程中,需要对.o文件进行处理,以生成位置无关代码。以下有关位置无关代码(PIC)生成的叙述中,错误的是()。

A.模块内函数之间的调用可用PC相对地址实现.无需动态链接器进行重定位

B.模块内数据的引用无需动态链接器进行重定位,因为引用与定义间相对位置固定

C.模块外数据的引用需要动态链接器进行重定位,重定位时在GOT中填入外部数据的地址

D.模块间函数调用需要动态链接器进行重定位,重定位时在GOT和PLT中填入相应内容

点击查看答案

第8题

以下有关重定位信息的叙述中,错误的是()。
以下有关重定位信息的叙述中,错误的是()。

A.重定位信息是由编译器在生成汇编指令时产生的

B.指令中的重定位信息在可重定位目标文件的.rel.text节中

C.数据中的重定位信息在可重定位目标文件的.rel.data节中

D.重定位信息包含需要重定位的位置、绑定的符号和重定位类型

点击查看答案

第9题

以下有关链接符号类型的叙述中,错误的是()。
以下有关链接符号类型的叙述中,错误的是()。

A.由模块m定义并能被其他模块引用的符号称为m的全局符号

B.由其他模块定义并被模块m引用的符号称为m的外部符号

C.由模块m定义并仅在m中引用的符号称为m的本地符号

D.在模块m内的某个函数中定义的局部变量称为m的局部符号

点击查看答案

第10题

以下是两个源程序文件:对于上述两个源程序文件链接时的符号解析,错误的是()。A.在m1中,定义了
以下是两个源程序文件:对于上述两个源程序文件链接时的符号解析,错误的是()。A.在m1中,定义了

以下是两个源程序文件:

对于上述两个源程序文件链接时的符号解析,错误的是()。

A.在m1中,定义了一个强符号main和一个弱符号p

B.在m2中,定义了一个强符号p和一个本地符号main

C.在ml中,对m2中定义的强符号p的引用只有一处

D.因为出现了两个强符号main,所以会发生链接错误

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信