详解python编译器和解释器的区别

作者:laozhang 时间:2023-06-26 03:53:09 

高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到的是编译器。

编译型语言通常的执行过程是:源代码——预处理器——编译器——目标代码——链接器——可执行程序。

某种意义上来说预处理事实上是一个附加的功能,C,PHP,都可以添加这种功能,其中,预处理指令多为头文件包含,宏定义等等。因为宏定义的核心说白了就是一个字“换”,所以预处理就是提供一个程序执行的环境。

编译器——目标代码就是把高级程序语言转换成机器可以理解执行的机器语言。

链接器的功能开始理解前要先了解一点。头文件在预处理过程中被编译成一个个单独的文件,也就是库文件。而程序是另外的文件,并不包含在库文件里。所以这就需要一个“胶水”把程序和库连接起来形成一个可执行文件(Windows是EXE)。这就是链接器的作用。

解释器理解就简单了,把程序一行行的的理解,执行。首先读一行代码,然后执行这一行代码的意思,接下来读下一行代码,执行次行代码。一次循环往复。

编译器则是读入所有代码,打包成可执行文件,执行。由于我们运行的一般都为编译过后的可执行文件,也就是执行的是机器语言(而且是IDE优化后的),所以运行速度要比解释型语言快。

标签:python,编译器,解释器,区别
0
投稿

猜你喜欢

  • pytorch 膨胀算法实现大眼效果

    2022-10-25 18:19:51
  • 这样写python注释让代码更加的优雅

    2021-01-07 09:09:12
  • js模拟实现Array的sort方法

    2024-04-10 11:03:22
  • VS 2008的性能改进

    2007-10-07 21:42:00
  • 使用基于Python的Tornado框架的HTTP客户端的教程

    2023-05-15 06:50:43
  • Python中的enum的使用方法

    2023-10-17 16:59:24
  • 详解CentOS升级Python2.6到Python2.7并安装pip

    2023-06-13 18:59:45
  • 树莓派4B安装Tensorflow的方法步骤

    2023-09-05 17:28:06
  • pandas删除行删除列增加行增加列的实现

    2022-10-27 13:22:55
  • 用asp实现的获取文件夹中文件的个数的代码

    2011-03-08 11:02:00
  • Access函数大全

    2009-12-23 19:22:00
  • ASP中类的详细介绍(class Property Get、Property Let)

    2008-02-20 19:18:00
  • Python对于json数据键值对遍历

    2023-02-21 06:01:08
  • Python bsddb模块操作Berkeley DB数据库介绍

    2024-01-18 05:32:02
  • javascript实现延时显示提示框效果

    2024-04-25 13:10:42
  • 在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

    2023-05-12 10:50:46
  • Python实现两个list求交集,并集,差集的方法示例

    2021-12-27 19:52:06
  • 使用python进行图片的文字识别详细代码

    2021-06-27 07:01:06
  • javascript与jsp发送请求到servlet的几种方式实例

    2023-06-15 15:59:30
  • Python如何实现转换URL详解

    2021-06-28 20:23:46
  • asp之家 网络编程 m.aspxhome.com