• 第一次作业


    1)简述编译程序与翻译程序、汇编程序的联系与区别。

    ①编译的过程就是将源代码文件以字符流的形式进行处理,进行词法和语法的分析,然后通过汇编器将源代码指令转变成汇编指令,然后交由机器识别。汇编过程实际上指把汇编语言代码翻译成目标机器指令的过程。

    ②编译程序:由编译器将源代码转变成汇编代码

    ③汇编程序:由汇编器将汇编代码转变成目标代码

    ④翻译程序:被翻译的程序,会经过处理翻译成一个目标文件,也就是机器语言代码。

    2)编译过程包括哪几个主要阶段及每个阶段的主要功能。

    ①词法分析:将源程序转化为字符流,输出单词符号

    ②语法分析:将单词符号以语法单位输出

    ③语义分析与中间代码生成:将语法单位与中间代码形式输出

    ④中间代码优化:为了节省空间和方便管理代码,把中间代码变换成依赖具体机器的目标代码。

    ⑤目标代码生成:将优化后的中间代码形式生成目标程序供机器识别。

    3)简述解释程序与编译程序的区别。

    ①解释程序:边解释边执行,并不用形成目标程序就能运行程序。

    ②编译程序:需要编译源程序为目标程序提供给机器识别才能运行。

    4)了解新开源的华为方舟编译器(https://www.openarkcompiler.cn/home),理解并谈谈它的基本思想与采用的技术路线,以及它对安卓软件生态会有什么影响。

    ①基本思想:方舟编译器是为支持多种编程语言、多种芯片平台的联合编译、运行而设计的统一编程平台,包含编译器、工具链、运行时等关键部件。

    ②技术路线:当前方舟编译器支持Java/Kotlin程序字节码的前端输入,其它编程语言的支持(如 C/C++/JS 等)还在规划中,方舟编译器的中间表示(IR)转换器将前端输入转换成方舟IR,并输送给后端的优化器,最终生成二进制文件,二进制文件与编译器运行时库文件链接生成可执行文件,在方舟的运行环境中就可执行该文件。

    ③影响:华为方舟编译器的开源很大程度帮助了各行各业将Android优化的更好,让大家更好的将方舟编译器运用的更好!

  • 相关阅读:
    《算法》C++代码 Floyd
    《算法》C++代码 快速排序
    3-3当访问到一个文件跳转到另一个文件
    分别应用include指令和include动作标识在一个jsp页面中包含一个文件。
    历届试题 蚂蚁感冒
    HDU 2817 A sequence of numbers
    HDU-2018 母牛的故事
    算法提高 复数归一化
    算法提高 十进制数转八进制数
    算法提高 约数个数
  • 原文地址:https://www.cnblogs.com/zqy1004/p/11457899.html
Copyright © 2020-2023  润新知