1、编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;中间代码生成;代码优化;目标代码生成。
2、编译程序的工作过程一般自始至终伴随进行信息表管理和出错处理两项工作。
主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
扩展资料:
解释程序是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。因此,解释程序并不产生目标程序,这是它和编译程序的主要区别。解释程序的工作过程如下:
1、由总控程序完成初始化工作。
2、依次从源程序中取出一条语句进行语法检查,如有错,输出错误信息;如果通过了语法检查,则根据语句翻泽成相应的指令并执行它。
3、检查源程序是否已经全部解释执行完毕,如果未完成则继续解释并执行下一条语句,直到全部语句都处理完毕。
参考资料来源:百度百科——编译程序
参考资料来源:百度百科——解释程序
编译的大致过程如下:
你完成的其实是前面一部分,的第一阶段,生成了中间代码。
目标代码,即目标文件包含着机器代码(可直接被计算机中央处理器执行)以及代码在运行时使用的数据,如重定位信息,如用于链接或调试的程序符号(变量和函数的名字),此外还包括其他调试信息。
后面是由链接程序将编译后形成的一组目标模块以及它们所需要的库函数链接在一起,形成一个完整的载入模块。
目前的编译工具通常编译器和链接器都是分开,例如GNU的编译器是gcc,链接器是ld
编译程序指将某一种程序设计语言写的程序翻译成等价的另一种语言的程序的程序, 称之为编译程序
编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。
它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
编译程序的实现算法较为复杂,这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系,同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。
由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。
扩展资料:
编译流程分为了四个步骤:
1预处理,生成预编译文件(文件)
2编译,生成汇编代码(s文件)
3汇编,生成目标文件(o文件)
4链接,生成可执行文件
参考资料:
我想你要问的事情应该是:怎样用visual studio 家族的语言调用另外一个可运行程序。
因为当你不是双击图标,而是直接运行的时候,后缀名是无所谓的。而1exe打开后有个什么按钮,这也不是你的技术瓶颈,所以你唯一的问题就是:怎样在c++或者vb中调用别的可执行(exe)程序。建议你以此为关键字去搜索(如果你还不知道如何搜索你的问题的话)
以上就是关于编译程序的工作过程一般可以划分为哪5个基本阶段,还自始至终伴随进行哪两项工作全部的内容,包括:编译程序的工作过程一般可以划分为哪5个基本阶段,还自始至终伴随进行哪两项工作、写了一个程序可以编译c语言,怎么自动再链接然后执行生成的可执行文件、什么是编译程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)