交叉编译-【物联网平台篇9】使用mqtt上传图片到onenet

时间:2021-06-02 12:41:04
【文件属性】:
文件名称:交叉编译-【物联网平台篇9】使用mqtt上传图片到onenet
文件大小:1.83MB
文件格式:PDF
更新时间:2021-06-02 12:41:04
嵌入式 第四章 交叉编译 4.1. 编译原理 4.1.1. 基础知识 我们在编写计算机程序时所用的编程语言多为高级语言,如 C/C++、Java 等,而计算 机只能执行机器代码,因此需要一种工具来完成从源程序到机器代码的转换,这种转换工 具就是编译器。 编译器是将一种语言翻译成另一种语言的计算机程序,它将源程序作为输入,产生用目 标语言编写的等价(有时经过优化)程序。目标语言可以是机器代码,也可以是另一种语 言,比如汇编等。 编译原理是编译器的技术基础,它在计算机科学技术中占有相当重要的地位。它的出 现可以让我们更快捷地编写计算机可运行的程序。同时,编译本身也包含了许多软件技术, 它蕴含了计算机学科中解决问题的思路、抽象问题和解决问题的方法。编译原理几乎可以 称为计算机专业的“高等数学”。 4.1.1.1. 编译的一般过程 不论编译器的功能多么强大,它的实质都是一样的,都是把某种以数字和符号为内容 的高级编程语言转换成机器语言指令的集合。编译程序的基本结构都是相似的,如图 4.1. 所示。 编译过程一般可以分为六步,即词法分析、语法分析、语义分析、中间代码生成、中 间代码优化,目标代码生成。有些编译程序在生成目标代码之后,可能还会再增加一步优 化操作,对目标代码再次进行优化。每一步分别具有不同的功能,它们整体协作完成一次 编译过程。 (1)词法分析:输入源程序,通过对源程序字符串的扫描和分解,将其转化成一个一 个的单词符号,这些单词符号构成一个单词序列。单词符号是语言的基本组成部分。 (2)语法分析:把词法分析的单词符号串分解成一个一个的句型或者句子,确定输入 的单词符号串是否符合给定的语法。 (3)语义分析:给出各个句型和句子的含义。 (4)中间代码生成:把不同的句型和句子按照高级语言的语义翻译成中间代码。 (5)中间代码优化:遵循程序等价变换的原则,把中间代码加工变换成节省运行时间 和存储空间的目标中间代码。 (6)目标代码生成:实现 后的转换,把中间代码转换成特定的机器语言。

网友评论