编译程序和解释程序的区别在于以下方面:编译型语言的源代码有错误编译不通过,无法生成可执行代码,更无法执行程序;解释型语言只有执行时才会判断是否出错,即使一句出错,也可以继续执行下一句等。
一、区别
编译型是使用编译器编译后生成计算机硬件可直接执行的指令,解释型是在运行时才由解释器逐语句去执行。
编译型代表:C&C++,C#,Java,解释型代表:html,javascript。区别有很多,说说常见的几个:
编译型语言的源代码有错误编译不通过,无法生成可执行代码,更无法执行程序;解释型语言只有执行时才会判断是否出错,即使一句出错,也可以继续执行下一句。
编译型语言都为强类型,即必须说明数据的类型,如int a;解释型语言多为弱类型,如js中var a,a可以为字符串也可以为整形。
编译型语言执行效率上大大优于解释型,主要因为编译器在编译过程中会根据不同平台自动优化目标代码,且特点为1次编译,N次运行,另外强类型的程序安全性高;解释型语言无上述过程,逐语句翻译造成执行效率低下,每次执行都会重复解释一遍,并且安全性低。
编译型程序适合对通用性,重复性,高效性有要求的系统,如开发操作系统;相比解释型语言更具灵活性,如开发网站前台页。
编译程序编译时间较长,运行速度较快。
二、翻译程序
翻译程序是指把高级语言源程序换成机器语言程序(目标代码)的软件。
翻译程序有两种:
编译程序。它将高级语言一次全部翻译成目标程序,每次执行程序时,只需要执行目标程序,因此只要源程序不变,就无需重新编译。
解释程序。它将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译吓一跳源程序语句并执行,直至所有源程序语句全部都被翻译完。
汇编语言也是一种语言翻译程序,它把汇编语言源程序翻译成机器语言程序。汇编语言是一种面向机器的低级语言,用机器语言的符号表示,与机器语言一一对应。
延伸阅读
C程序编译步骤
C代码编译成可执行程序经过4步:
(1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法
(2)编译:检查语法,将预处理后文件编译生成汇编文件
(3)汇编:将汇编文件生成目标文件(二进制文件)
(4)链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去
文章标题:编译程序和解释程序的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/39129