汇编程序与编译器
一般来说,编译器是一种计算机程序,它读取用一种语言编写的程序(称为源语言),并将其翻译成另一种语言(即目标语言)。传统的源语言是C++等高级语言,目标语言是汇编语言等低级语言。然而,有些编译器可以将用汇编语言编写的源程序转换为机器代码或目标代码。汇编程序就是这样的工具。因此,汇编程序和编译器最终都会生成可以在机器上直接执行的代码。
什么是编译器?
编译器是一种计算机程序,它读取用一种语言编写的程序(称为源语言),并将其翻译成另一种语言,即目标语言。通常,源语言是高级语言,目标语言是低级语言。因此,一般来说,编译器可以看作是从一种语言翻译到另一种语言的翻译人员。此外,编译器对代码执行一些优化。典型的编译器由几个主要组件组成。第一个组件是扫描器(也称为词法分析器)。Scanner读取程序并将其转换为一系列标记。第二个组件是解析器。它将中的标记字符串转换为解析树(或抽象语法树),解析树捕获程序的语法结构。下一个组成部分是解释句法结构语义的语义例程。代码优化和最终代码生成都遵循这一点。
什么是汇编程序?
汇编程序是将汇编语言翻译成机器代码的软件或工具。所以,汇编程序是一种编译器,源代码是用汇编语言编写的。汇编是一种人类可读的语言,但它通常与对应的机器代码有一对一的关系。因此,汇编程序被称为执行同构(一对一映射)转换。高级汇编程序提供支持程序开发和调试过程的附加功能。例如,称为宏汇编程序的汇编程序类型提供了宏工具。
汇编程序和编译器的区别是什么?