更多“交叉编译”相关问题
  • 第1题:

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

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

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

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


    参考答案C

  • 第2题:

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


    正确答案:错

  • 第3题:

    若以S3C2410为核心的目标机上,已经移植成功Linux操作系统。若要开发该目标机的Linux应用程序,通常使用arm-linux-(39)__________________交叉编译器来编译应用程序。若要对一个应用程序进行调试排错,则应该在编译命令中加(40)__________________参数对它进行编译。


    正确答案:gccg

  • 第4题:

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

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

    答案:A
    解析:
    计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。

  • 第5题:

    嵌入式系统软件的开发通常采用()

    • A、与PC应用软件开发一样的方式
    • B、交叉编译与开发的方式
    • C、本地环境开发的方式
    • D、交叉编译与开发和本地环境开发两种方式都可以

    正确答案:B

  • 第6题:

    嵌入式应用软件的开发阶段不包括()

    • A、交叉编译和链接
    • B、开发环境的建立
    • C、联机调试
    • D、应用程序模块加载

    正确答案:D

  • 第7题:

    如何测试交叉编译环境是否建立成功?


    正确答案: 首先,使用VI编辑器创建一个hello.c文件。
    [root@localhostxscale270]#vihello.c
    编写一个简单的程序来打印出一行简单的信息:WelcomeEmdoor!。
    保存并退出该文件。使用如下的命令来编译该文件。
    [root@localhostxscale270]#gcc-ohellohello.c
    [root@localhostxscale270]#arm-linux-gcc-ohellohello.c
    gcc编程生成的是X86系统结构的二进制文件。
    arm-linux-gcc是在在宿主机中,交叉编译hello.c源程序,并查看生成的.o目标文件。调用交叉编译器arm-linux-gcc编译hello.c文件
    使用file命令来分别查看编译出的二进制文件hello和hello-arm。
    [root@localhostxscale270]#filehello
    [root@localhostxscale270]#filehello-arm
    编译器arm-linux-gcc生成的可执行文件hello-arm文件是不能在宿主PC机上运行的,只能在XSBase270目标机上运行。

  • 第8题:

    交叉开发环境包括交叉编译环境和()。

    • A、交叉链接器  
    • B、交叉调试器  
    • C、交叉编辑器  
    • D、交叉生成器

    正确答案:A

  • 第9题:

    判断题
    通用系统程序开发不需要建立和使用交叉编译环境。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第10题:

    单选题
    关于交叉编译描述正确的是()
    A

    编译器运行在目标机,生成的可执行文件在宿主机上运行

    B

    编译器运行在宿主机,生成的可执行文件在宿主机上运行

    C

    编译器运行在目标机,生成的可执行文件在目标机上运行

    D

    编译器运行在宿主机,生成的可执行文件在目标机上运行


    正确答案: D
    解析: 暂无解析

  • 第11题:

    单选题
    有关Linux内核裁剪下列说法错误的是()
    A

    可以使用makemenuconfig命令进行内核的配置

    B

    所有的配置项都可以按以编译入内核,编译成模块,不编译三种方式配置

    C

    使用makezImage命令会编译生成内核镜像文件zImage

    D

    嵌入式Linux内核编译时应该采用交叉编译器


    正确答案: D
    解析: 暂无解析

  • 第12题:

    填空题
    交叉编译环境的搭建中minicom是用于Linux下的()工具,DNW是用于串口下载()的工具。

    正确答案: 串口通信,文件镜像
    解析: 暂无解析

  • 第13题:

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

    A.交叉编译

    B.(远程调试)联调

    C.仿真

    D.同步


    正确答案:B

  • 第14题:

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

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

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


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

  • 第15题:

    交叉编译器软件属于嵌入式系统的( )。

    A.系统软件
    B.应用软件
    C.支撑软件
    D.中间件

    答案:C
    解析:
    嵌入式系统由硬件部分和软件部分构成。通常将嵌入式软件分为嵌入式系统软件、嵌入式应用软件和嵌入式支撑软件三大类,如表6-14所示。交叉编译器是嵌入式系统的辅助工具软件。表6-14 嵌入式软件分类

  • 第16题:

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

    A.B进行反编译,不能还原出源程序A
    B.对B进行反汇编,不能得到与源程序A等价的汇编程序代码
    C.对B进行反编译,得到的是源程序A的变量声明和算法流程
    D.对A和B进行交叉编译,可以产生在机器C上运行的动态链接库

    答案:A
    解析:
    本题考查程序语言方面的基础知识。编译是将高级语言源程序翻译成机器语言程序(汇编形式或机器代码形式),反编译是编译的逆过程。反编译通常不能把可执行文件还原成高级语言源代码,只能转换成功能上等价的汇编程序。

  • 第17题:

    若以S3C2410为核心的目标机上,已经移植成功Linux操作系统。若要开发该目标机的Linux应用程序,通常使用arm-linux-()交叉编译器来编译应用程序。若要对一个应用程序进行调试排错,则应该在编译命令中加()参数对它进行编译。


    正确答案:gcc;g

  • 第18题:

    通用系统程序开发不需要建立和使用交叉编译环境。


    正确答案:正确

  • 第19题:

    有关Linux内核裁剪下列说法错误的是()

    • A、可以使用makemenuconfig命令进行内核的配置
    • B、所有的配置项都可以按以编译入内核,编译成模块,不编译三种方式配置
    • C、使用makezImage命令会编译生成内核镜像文件zImage
    • D、嵌入式Linux内核编译时应该采用交叉编译器

    正确答案:B

  • 第20题:

    什么是交叉编译?为什么要采用交叉编译。


    正确答案: 所谓交叉编译,是指在一个平台上编译生成在另一个平台上运行的可执行程序。。之所以采用交叉编译,是因为目标平台上不具备直接运行开发环境的条件。

  • 第21题:

    单选题
    嵌入式系统软件的开发通常采用()
    A

    与PC应用软件开发一样的方式

    B

    交叉编译与开发的方式

    C

    本地环境开发的方式

    D

    交叉编译与开发和本地环境开发两种方式都可以


    正确答案: B
    解析: 暂无解析

  • 第22题:

    名词解释题
    交叉编译

    正确答案: 指用A机器上的编译程序来产生可在B机器上运行的目标代码。
    解析: 暂无解析

  • 第23题:

    问答题
    什么是交叉编译?为什么要采用交叉编译。

    正确答案: 所谓交叉编译,是指在一个平台上编译生成在另一个平台上运行的可执行程序。。之所以采用交叉编译,是因为目标平台上不具备直接运行开发环境的条件。
    解析: 暂无解析