编译程序和解释程序有哪些区别?

编译程序,解释程序,汇编程序是3种语言处理程序。其区别主要为:
汇编程序(为低级服务)是将汇编语言书写的源程序翻译成由机器指令和其他信息组成的目标程序。
解释程序(为高级服务)直接执行源程序或源程序的内部形式,一般是读一句源程序,翻译一句,执行一句,不产生目标代码,如BASIC解释程序。
编译程序(为高级服务)是将高级语言书写的源程序翻译成与之等价的低级语言的目标程序。编译程序与解释程序最大的区别之一在于前者生成目标代码,而后者不生成;此外,前者产生的目标代码的执行速度比解释程序的执行速度要快;后者人机交互好,适于初学者使用。用COBOL,FORTRAN等语言编写的程序考虑到执行速度一般都是编译执行。
解释:程序运行时,取一条指令,将其换化为机器指令,再执行这条机器指令。
编译:程序运行时之前,将程序的代码编译成机器代码,再运行这个程序。
计算机并不能直接的接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过”翻译程序“翻译成机器语言形式和解释方式。
编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件的存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。
解释方式是指源程序进入计算机后,解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。如PASCAL,FORTRAN,COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL,C语言是能书写编译程序的高级程序设计语言。
简单的说,编译就是全文翻译,全部翻译完才执行。解释就相当于同声翻译,边翻译边执行。

发布了70 篇原创文章 · 获赞 8 · 访问量 3253

猜你喜欢

转载自blog.csdn.net/gldbys/article/details/105272067