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

yipeiwu_com6年前Python基础

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

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

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

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

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

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

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

相关文章

python实现图片中文字分割效果

python实现图片中文字分割效果

本文实例为大家分享了python实现图片中文字分割的具体代码,供大家参考,具体内容如下 1、原始图片(包含数字): 结果图: 2、原始图片(包含文字): 结果图: 3、代码如下:...

Python socket非阻塞模块应用示例

本文实例讲述了Python socket非阻塞模块应用。分享给大家供大家参考,具体如下: 一 服务端程序 # 导入模块 import socketserver import rand...

使用 Python 处理3万多条数据只要几秒钟

使用 Python 处理3万多条数据只要几秒钟

应用场景:工作中经常遇到大量的数据需要整合、去重、按照特定格式导出等情况。如果用 Excel 操作,不仅费时费力,还不准确,有么有更高效的解决方案呢? 本文以17个 txt 文本,3万多...

深入理解Django的自定义过滤器

深入理解Django的自定义过滤器

前言 本文主要给大家介绍了关于Django自定义过滤器的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 过滤器与函数 django过滤器的本质是函数,但"函...

pandas的object对象转时间对象的方法

如下所示: df = pd.read_table('G:/tc/dataset/user_view.txt', sep=",")#读取文件 df.columns = ["a", "b...