程序执行过程概概述
1.前言
最近准备好好再学习下C++,文中一来就说“编写好程序后,我们就需要编写它…”,以前学过编译原理,但是久了就忘记了,看来好记性不如烂笔头,脑子记不如动手记,所以,我下面将大概整理下书上的内容,从概念上理解下程序执行的过程!
参考书籍:《编译原理基础》-刘坚
2.直蹦主题
2.1概述
程序(我指的是高级通用设计语言,如C、c++、java)被编写后,由于是我们人类识别的语言,所以自然需要一个转换为机器识别语言的过程,即由高级语言到更低层的计算机语言这个过程我们就可以理解为编译过程,这个过程的结果就是将高级语言程序(源程序)变成目标程序的过程(当然有可能还会有链接过程(将不同库、文件啥的组织起来供执行),此次出发点不同,不细说啦),然后我们在再执行目标程序以达到我们的编程目的,过程大概如下:
2.2详细
按刘坚老师书上介绍的,我们将语言分为三个层次,由上到下为高级语言、汇编语言、机器语言,如下图所示:
可与认为高级语言之间的转换就是预处理过程,高级到低级的过程就是编译过程,图中可见可由高级到汇编或是直接到机器语言(汇编和机器语言是根据不同的机器而定制的,与计算机本身相关,故他们有所不同),编译器就是在编译过程使用的,实际上是一个程序,它的存在就是充当一个翻译官,将人懂的翻译成机器懂的,到这里我的问题已经解决了(编译过程干嘛的?),我目前学习的重点不是了解编译器的实现,如有需要再深入吧!
3.最后
编译器的实现,可以继续参考刘老师的书,讲了原理,但是具体咋个实现还得加油哦!另外,我看了下这个编译原理基础学习,对编译过程有个宏观的理解呀!感谢
、