交叉编译

题目

交叉编译

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

arm-linux-gcc交叉编译工具主要包括binutils、____、glibc等软件。


参考答案:GCC

第2题:

一般把进行交叉编译的主机称为目标机。()

此题为判断题(对,错)。


参考答案:错误

第3题:

● 已知某高级语言源程序A 经编译后得到机器C 上的目标程序B,则 (24) 。

(24)

A. 对B 进行反编译,不能还原出源程序A

B. 对B 进行反汇编,不能得到与源程序A 等价的汇编程序代码

C. 对B 进行反编译,可得到源程序A 的算法结构

D. 对A 和B 进行交叉编译,可以产生在机器C 上运行的动态链接库


正确答案:B

第4题:

交叉编译器是嵌入式软件开发必备的基础工具软件之一。目前比较流行的交叉编译器是GNU系列产品,它是一种开源软件。编译器生成代码正确与否严重影响机载设备的安全,因此,张工在方案中提出对本项目采用的交叉编译器开展可信技术研究。可信编译器包括两方面含义,其一是编译器自身的可信性,即必须保证整个编译操作的可信性,保证编译器在编译过程中不会给编译处理对象带来任何安全问题;其二是必须保证编译器编译所得程序可执行代码的可信,即编译器必须保证,通过其编译生成的程序代码是安全和可靠的。因此,张工提出在传统编译操作的基础上加入代码安全性加强机制、代码可信性验证机制和可执行代码保护机制。图3-2给出了可信编译系统的框架。

请说明三种可信机制在传统编译操作步骤中的位置,并给出图3-2的(a)~(c)对应的可信机制名称。

根据表3-1所示的信息流名称,给出图3-2中(d)~(h)对应的功能模块间的信息流编号。


正确答案:
解析:编译器作为重要的系统软件,其可信性对于整个计算机系统的可信具有重要意义。如果编译器不可信,则很难保证其他软件的可信性。软件的可信性很大程度上依赖于程序代码的可信性,影响软件可信性的主要因素包括来自软件内部的代码缺陷、代码错误、程序故障以及来自软件外部的病毒、恶意代码等。因此,从代码角度来保证软件的可信性是实现可信软件的重要途径之一。
可信编译的目标就是从编译的角度保证软件的可信性,主要包括两方面含义,一方面,必须保证编译器自身是可信的。即必须保证整个编译操作的可信性,保证编译器在编译过程中不会给编译处理对象带来任何安全性问题,防止恶意攻击者通过修改编译器,在编译过程中对代码的原始语义进行篡改,影响程序代码本身的可信性;另一方面,必须保证编译器编译所得程序可执行代码是可信的,即编译器必须保证,通过其编译生成的程序代码是安全和可靠的。
编译器白身的可信性主要是指其编译过程的正确性、安全性和可靠性。一般认为,通过形式化验证的系统具有较高的可信性,可将形式化方法用于编译器本身。通过在传统编译操作的基础上加入代码安全性加强机制、代码可信性验证机制及可执行代码保护机制等三种机制,来保证编译所产生代码的可信性。
(1)代码安全性加强机制:该机制主要用于识别和处理程序中常见的一些安全漏洞。目前已提出许多针对程序常见安全漏洞的编译处理技术,具有代表性的如针刈缓冲区溢出攻击的StackGuard方法等。
(2)代码可信性验证:该机制不可能解决所有的代码安全性问题。对于可信性要求较高的程序代码,必须通过形式化方法对其进行可信性验证。因此,我们提出在代码安全性加强机制对代码进行安全加强之后,通过代码可信性验证机制对代码的可信属性进行验证,对未通过验证的非可信代码进行报警或其他处理。这样,通过代码安全性加强和可信性验证相结合的方法保证编译生成可执行代码的可信性。
(3)可执行代码保护机制:为了防止攻击者对可信编译器最终生成的可执行代码进行恶意攻击或修改,可信编译器在完成编译之后,对可执行代码实施保护机制,保护编译所得可执行代码的完整性、秘密性和可用性,从而确保系统最终执行代码的可信运行。

第5题:

是在宿主机上编译好目标代码后,通过宿主机到目标机的调试通道将代码下载到目标机,然后由运行于宿主机的调试软件控制代码在目标机上运行调试。为了方便调试开发,交叉开发软件一般为一个整合编辑、编译汇编链接、调试、工程管理及函数库等功能模块的集成开发环境()。

A.交叉编译

B.(远程调试)联调

C.仿真

D.同步


正确答案:B

第6题:

arm-linux-gcc交叉编译工具主要包括binutils、GDB、glibc等软件。()

此题为判断题(对,错)。


参考答案:错误

第7题:

关于Linux内核的编译,错误的是()。

A 不必在相同的架构上编译,也就是可以交叉编译B 内核编译可以不提供动态加载模块的功能

C 模块的编译必须在编译内核时进行

D Linux内核的编译只能使用gcc才能完成


参考答案C

第8题:

交叉编译器中,下面哪项不是必需包含的:()

A.glibc

B.gcc

C.binutils

D.tmake


参考答案:D

第9题:

嵌入式软件的交叉开发环境一般包括公式编辑器,交叉编译器,交叉调试器等。()


正确答案:错

第10题:

将计算机中可执行的程序转换为高级语言程序的过程称为( )。

A.反编译 B.交叉编译 C.反汇编 D.解释


正确答案:A

更多相关问题