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

 更新时间:2019年06月24日 17:27:36   投稿:laozhang  
在本文中小编给读者们整理了关于python编译器和解释器的区别的知识点内容,有兴趣的朋友们跟着学习下。

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

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

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

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

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

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

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

相关文章

  • Numpy 数组操作之元素添加、删除和修改的实现

    Numpy 数组操作之元素添加、删除和修改的实现

    本文主要介绍了Numpy 数组操作之元素添加、删除和修改的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python对输出的奇数偶数排序实例代码

    python对输出的奇数偶数排序实例代码

    在本篇内容里小编给大家整理的是一篇关于python对输出的奇数偶数排序实例代码内容,有兴趣的朋友们可以参考下。
    2020-12-12
  • Python中的OpenCV图像腐蚀处理和膨胀处理

    Python中的OpenCV图像腐蚀处理和膨胀处理

    这篇文章主要介绍了Python中的OpenCV图像腐蚀处理和膨胀处理,OpenCV是一个跨平台的计算机视觉库,可用于开发实时的图像处理、计算机视觉以及模式识别程序,需要的朋友可以参考下
    2023-08-08
  • Python基于keras训练实现微笑识别的示例详解

    Python基于keras训练实现微笑识别的示例详解

    Keras是一个由Python编写的开源人工神经网络库,可用于深度学习模型的设计、调试、评估、应用和可视化。本文将基于keras训练实现微笑识别效果,需要的可以参考一下
    2022-01-01
  • 21行Python代码实现拼写检查器

    21行Python代码实现拼写检查器

    21行python代码实现的一个简易但是具备完整功能的拼写检查器,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • python geopandas读取、创建shapefile文件的方法

    python geopandas读取、创建shapefile文件的方法

    shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Class),主要包括点(point)、线(polyline)和多边形(polygon),本文重点给大家介绍python geopandas读取、创建shapefile文件的方法,需要的朋友参考下吧
    2021-06-06
  • Python操作PDF文件之实现A3页面转A4

    Python操作PDF文件之实现A3页面转A4

    这篇文章主要为大家详细介绍了Python操作PDF文件之实现A3页面转A4功能的相关资料,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-11-11
  • python3.9不支持pillow包解决办法

    python3.9不支持pillow包解决办法

    本文主要介绍了python3.9不支持pillow包解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Anaconda2下实现Python2.7和Python3.5的共存方法

    Anaconda2下实现Python2.7和Python3.5的共存方法

    今天小编就为大家分享一篇Anaconda2下实现Python2.7和Python3.5的共存方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 在jupyter notebook中调用.ipynb文件方式

    在jupyter notebook中调用.ipynb文件方式

    这篇文章主要介绍了在jupyter notebook中调用.ipynb文件方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04

最新评论