必威体育Betway必威体育官网
当前位置:首页 > IT技术

浅浅谈编译原理

时间:2019-09-11 23:42:12来源:IT技术作者:seo实验室小编阅读:86次「手机版」
 

编译原理

   ★从开始编写的源代码到最后出现的黑框上的运行结果,编译器到底做了什么呢?写了这么多的代码,那源代码是怎么样被编译器给执行的呢?下面让我们一起讨论一下吧!

这里我们先简单的了解一下程序的运行原理。大多数情况下,我们都会在windows开发环境下进行开发,以C语言为例,它们会有这样的过程:

◆.c源文件——>预编译——>编译——>链接——>.exe可执行文件

①预编译

预编译又称为预处理,是做些代码文本的替换工作,主要就是为编译做的预备工作的阶段处理#开头的指令,比如拷贝#include包含的文件代码(例:#include<stdio.h>),#define宏定义的替换(例:#define Pai 3.14),条件编译(#ifdef、#else等指令)。

②编译

编译就是利用编译程序从各种语言编写的源代码产生目标程序的过程。它把高级语言设计变成计算机可以识别的二进制语言(1和0),编译程序把一个源代码翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码的生成;代码的优化;目标代码的生成。(这里的知识比较多,想了解很多的朋友,请戳——>编译)。最后在我们的项目文件夹下,就可以找到一个.obj的文件,这就是目标代码。

③链接

编译完成之后,代码还不能被执行起来,现在我们有的只是一堆二进制码。链接器将编译转成的各个目标代码捆绑在一起,形成一个单一而完整的可执行程序(.exe文件),就是链接的过程。经过链接过程,最后在debug文件夹中的.exe文件就是可执行文件。

相关阅读

编译原理——一个编译器的各个步骤的介绍

一个编译器的结构分为分析部分(编译器的前端)和综合部分(编译器的后端)。 编译器的前端:把源程序分解成为多个组成要素,并在这些要素之

编译原理实验(三)词法语法分析综合设计

【编译原理】LL(1)语法分析器

1.项目要求文法要求:(1)从文件读入,每条产生式占用一行(2)文法为LL(1)文法从文件中读入文法,从键盘上输入待分析的符号串,采用 LL(1)分析

分享到:

栏目导航

推荐阅读

热门阅读