编译和解释的区别

如题所述

编译和解释的区别如下:

1、与计算机的交流方式不同

解释程序不产生目标代码,它逐条地取出源程序中的语句,边解释,边执行;解释器把源代码文件边解释成机器语言边交给CPU执行。编译是将源程序翻译成可执行的目标代码,执行可执行程序文件,翻译与执行是分开的。

2、运行环境不同

解释程序可跨平台使用,因为解释器已经做好了对不同平台的交互处理,用户写的源代码不需要再考虑差异性,源代码所有平台都可以直接执行。编译程序跨平台性不好,不同操作系统,调用底层的机器指令不同,需为不同平台生成不同的机器码文件。

3、开发便捷性

解释程序可以随时修改,立刻生效,改完源代码后,直接运行看效果。编译程序每次修改源代码,都要重新编译,生成机器码文件

4、运行速度

解释程序运行效率低,所有的代码均需经过解释器边解释变执行,速度比编译型慢很多。编译程序执行速度快,因为你的程序代码已经翻译成了是计算机可以理解的机器语言。

解释型语言能跨平台

首先,跨平台是指源代码跨平台,而不是解释器跨平台。解释器用来将源代码转换成机器码,它是一个可执行程序,是绝对不能跨平台的。

因此,官方针对不同的平台开发不同的解释器,这些解释器能够遵守同样的语法,识别同样的函数,完成同样的功能,只有这样,同样的代码在不同平台的执行结果才是相同的。

所以,解释型语言之所以能够跨平台,是因为有了解释器这个中间层。在不同的平台下,解释器会将相同的源代码转换成不同的机器码,解释器帮助我们屏蔽了不同平台之间的差异。

温馨提示:答案为网友推荐,仅供参考
相似回答