⑴ 简单描述编译的几个处理步骤
编译过程分为分析和综合两个部分,并进一步划分为词法分析、语法分析、语义分析、代码优化、存储分配和代码生成等六个相继的逻辑步骤。这六个步骤只表示编译程序各部分之间的逻辑联系,而不是时间关系。
编译过程既可以按照这六个逻辑步骤顺序地执行,也可以按照平行互锁方式去执行。在确定编译程序的具体结构时,常常分若干遍实现。对于源程序或中间语言程序,从头到尾扫视一次并实现所规定的工作称作一遍。每一遍可以完成一个或相连几个逻辑步骤的工作。
(1)高级语言的编译过程6个步骤扩展阅读:
对于c编译程序来说,其语言的特点如下:
1、c语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护,而且表现能力和处理能力极强。
2、c语言具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。
3、由于c语言实现了对硬件的编程操作,因此集高级语言和低级语言的功能于一体。它既可用于系统软件的开发,也适合于应用软件的开发。
4、此外,c语言还具有效率高、可移植性强等特点。因此它广泛地移植到了各类各型计算机上,从而形成了多种版本。
⑵ 编译程序是什么意思编译是什么意思
编译程序(Compiler,compiling program)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。
解释程序是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。
(2)高级语言的编译过程6个步骤扩展阅读:
结构:
编译过程分为分析和综合两个部分,并进一步划分为词法分析、语法分析、语义分析、代码优化、存储分配和代码生成等六个相继的逻辑步骤。这六个步骤只表示编译程序各部分之间的逻辑联系,而不是时间关系。
编译过程既可以按照这六个逻辑步骤顺序地执行,也可以按照平行互锁方式去执行。在确定编译程序的具体结构时,常常分若干遍实现。对于源程序或中间语言程序,从头到尾扫视一次并实现所规定的工作称作一遍。每一遍可以完成一个或相连几个逻辑步骤的工作。
可以把词法分析作为第一遍;语法分析和语义分析作为第二遍;代码优化和存储分配作为第三遍;代码生成作为第四遍。反之,为了适应较小的存储空间或提高目标程序质量,也可以把一个逻辑步骤的工作分为几遍去执行。
⑶ 高级语言的编译过程,经过哪几个步骤
1
.此法分析器!2
。语法分析器
3
语义分析器
4中间代码生成
5.代码优化器
6.代码生成器
7。目标程序
再看看别人怎么说的。
⑷ 高级语言编写的源程序需经什么程序翻译成目标程序,计算机才能执行
一般高级语言例如c语言需要如下步骤才能执行:
第一个阶段是预处理阶段,在正式的编译阶段之前进行。预处理阶段将根据已放置在文件中的预处理指令来修改源文件的内容。如#include指令就是一个预处理指令,它把头文件的内容添加到.cpp文件中。
第二个阶段编译、优化阶段,将其翻译成等价的中间代码表示或汇编代码,并执行优化。
第三个阶段是汇编,把汇编语言代码翻译成目标机器指令。
第四个阶段是链接,例如,某个源文件中的函数可能引用了另一个源文件中定义的某个符号(如变量或者函数调用等);在程序中可能调用了某个库文件中的函数,等等。所有的这些问题,都需要经链接程序的处理方能得以解决。
⑸ 高级语言经过编译
高级语言要执行须经过以下步骤:
高级语言——》汇编语言——》机器语言(0和1的代码)
高级语言通过编译其编译成汇编语言,如:
c = a + b;//高级语言
add $s1 $t1 $t2 ; //汇编语言
再由汇编程序转换成二进制代码,如:
000000 10001 10010 01000 00000 100000
注:每条汇编语言都有唯一的机器语言与之对应
在翻译成机器代码后就要把机器代码与原文件 链接 加载 于是就运行了
⑹ 高级语言和汇编语言翻译成机器语言的过程要经过什么过程
编译程序将高级语言编写的程序翻译成机器语言程序需要执行下列选项中的那三个步骤?(多选)
A、翻译 B、编译 C、连接 D、装入
选BCD
编译程序进行编译生成目标文件,然后是连接成链接文件,最后就是装入
⑺ 计算机程序中,用高级语言编写的程序经编译后产生的程序叫什么
高级语言编写的代码经过编译后就是可执行程序,高级语言到可执行文件主要有七个个过程。
高级语言编译的七个过程:
预处理,词法分析,语法分析,语义分析,中间代码产生,代码优化,目标代码产生。
下面对这几个过程详细讲解:
1、预处理:
对原文件进行预处理,比如头文件,导入的模块,宏定义等进行处理;
2、词法分析:
词法分析是第一阶段,这个阶段的任务是从左到右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词。
3、语法分析:
语法分析的任务是在词法分析的基础上将单词程序分解成各位语法短语。
4、语义分析:
语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。
5、中间代码生成:
在进行了上述的语法分析阶段等工作之后,有的编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。中间代码生成阶段要在语法和语义分析的基础上,将源程序进一步变为一种内部表示形式,它通常易于生成、易于翻译成目标代码,不过不是所有的语言都必须经过这一步。
6、代码优化:
这一阶段的任务是对前一阶段产生的中间代码进行变换或进行改造,目的是使生成的目标代码更为高效。代码优化阶段,对前阶段生成的中间代码进行变换或改造,以便生成目标代码时更加节省时间和空间,这一工作也不是必须的。
7、目标代码生成:
这一阶段的任务是吧中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。
⑻ c语言程序编译过程包括哪四个
C语言编译过程分成四个步骤:
1,由.c文件到.i文件,这个过程叫预处理
2,由.i文件到.s文件,这个过程叫编译
3,由.s文件到.o文件,这个过程叫汇编
4,由.o文件到可执行文件,这个过程叫链接
用gcc查看预处理过程(假设源文件叫hello.c)
gcc -o hello.i hello.c -E
然后用 vi hello.i 即可查看生成的预处理文件
按ESC 输入:$ 跳到预处理文件 可看到hello.c源码
宏的本质:预处理阶段的单纯的字符串替换
预处理阶段,不考虑C语法
⑼ 程序写好后怎么编译
把配置管理器选择为Release,然后选择菜单--生成--生成xxx(或者直接点击绿色小箭头运行下)就已经生成exe程序了,在bin/release文件夹下。让你选择release是把程序编译成发布版,vs会自动优化代码。如果是debug则不会。