A.共享库代码一定是位置无关代码(PIC)
B.用GCC生成共享库文件时应使用-IPIC选项
C.链接器可将共享库代码映射到不同的地址运行
D.共享库代码长度发生变化时会影响调用它的程序
第1题
A.A.模块内函数之间的调用可用PC相对地址实现.无需动态链接器进行重定位
B.B.模块内数据的引用无需动态链接器进行重定位,因为引用与定义间相对位置固定
C.C.模块外数据的引用需要动态链接器进行重定位,重定位时在GOT中填入外部数据的地址
D.D.模块间函数调用需要动态链接器进行重定位,重定位时在GOT和PLT中填入相应内容
第2题
A.静态库函数代码包含在进程代码段中,而共享库函数代码不包含在进程代码段中
B.静态库函数代码包含在可执行目标文件中,而共享库函数代码不包含在可执行目标文件中
C.静态库函数更新后需对程序重新编译和链接,而共享库函数更新后程序无需重新编译和链接
D.静态库函数在加载时被链接,而共享库函数可在加载或运行时被链接
第3题
A.共享库在Linux下称为动态共享对象(.so),在Windows下称为动态链接库(.dll)
B.生成的可执行目标文件是部分链接的,也即其中还有部分引用没有进行重定位
C.可执行目标文件由动态链接器对可重定位目标文件和共享库中部分信息进行链接而成
D.可执行目标文件在加载或执行时,系统将会调出动态链接器利用共享库对其进行动态链接
第4题
A.使得程序员可以分模块开发程序,有利于提高大规模程序的开发效率
B.使得公共函数库可以为所有程序共享使用,有利于代码重用和提高效率
C.使得程序员仅需重新编译修改过的源程序模块,从而节省程序开发时间
D.使得所生成的可执行目标代码中包含了更多公共库函数代码,所占空间大
第5题
A.BootLoader的第一阶段代码全部由汇编语言构成
B.BootLoader的第一阶段代码在Flash中运行
C.BootLoader中可以使用glib库中的函数
D.BootLoader第二阶段代码大部分由C语言写成,所以需要使用栈
第6题
A.一定包含一条无条件转移指令
B.一定包含一条条件转移指令(分支指令)
C.计算cond.expr的代码段一定在条件转移指令之前
D.对应thenstatement的代码一定在对应else_statement的代码之前
第10题
的M和N编译生成的机器代码反编译生成的。根据optarith(),推断函数arith()中 M和N的值各是多少?
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!