• 技术文章 >常见问题

    编译和解释的区别是什么

    青灯夜游青灯夜游2021-06-29 12:49:20原创1783

    区别:1、编译是将源程序翻译成可执行的目标代码;解释程序不产生目标代码。2、解释程序可跨平台使用;编译程序跨平台性不好。3、解释程序可以随时修改,立刻生效;编译程序不行。4、解释程序运行效率低;编译程序执行速度快。

    本教程操作环境:windows10系统、Dell G3电脑。

    编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。这只是表象,二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。

    解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。

    编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;

    而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.

    编译和解释的区别:

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

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

    编译是将源程序翻译成可执行的目标代码,执行可执行程序文件,翻译与执行是分开的。

    2、运行环境不同

    解释程序可跨平台使用,因为解释器已经做好了对不同平台的交互处理,用户写的源代码不需要再考虑差异性,源代码所有平台都可以直接执行。

    编译程序跨平台性不好,不同操作系统,调用底层的机器指令不同,需为不同平台生成不同的机器码文件。

    3、开发便捷性

    解释程序可以随时修改,立刻生效,改完源代码后,直接运行看效果

    编译程序每次修改源代码,都要重新编译,生成机器码文件

    4、运行速度

    解释程序运行效率低,所有的代码均需经过解释器边解释变执行,速度比编译型慢很多

    编译程序执行速度快,因为你的程序代码已经翻译成了是计算机可以理解的机器语言。

    更多相关知识,请访问常见问题栏目!

    以上就是编译和解释的区别是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:编译 解释
    上一篇:在计算机领域中,ascii码用一个字节来干什么 下一篇:有群有趣是什么软件

    相关文章推荐

    • 详解sublime搭建C/C++编译环境• 如何解决php不能编译问题• go是解释型语言吗• 解释程序是什么• php编译拓展的方法• PHP是解释型语言还是编译型语言?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网