详解python编译器和解释器的区别
作者:laozhang 时间:2023-06-26 03:53:09
高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到的是编译器。
编译型语言通常的执行过程是:源代码——预处理器——编译器——目标代码——链接器——可执行程序。
某种意义上来说预处理事实上是一个附加的功能,C,PHP,都可以添加这种功能,其中,预处理指令多为头文件包含,宏定义等等。因为宏定义的核心说白了就是一个字“换”,所以预处理就是提供一个程序执行的环境。
编译器——目标代码就是把高级程序语言转换成机器可以理解执行的机器语言。
链接器的功能开始理解前要先了解一点。头文件在预处理过程中被编译成一个个单独的文件,也就是库文件。而程序是另外的文件,并不包含在库文件里。所以这就需要一个“胶水”把程序和库连接起来形成一个可执行文件(Windows是EXE)。这就是链接器的作用。
解释器理解就简单了,把程序一行行的的理解,执行。首先读一行代码,然后执行这一行代码的意思,接下来读下一行代码,执行次行代码。一次循环往复。
编译器则是读入所有代码,打包成可执行文件,执行。由于我们运行的一般都为编译过后的可执行文件,也就是执行的是机器语言(而且是IDE优化后的),所以运行速度要比解释型语言快。
标签:python,编译器,解释器,区别
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
pytorch 膨胀算法实现大眼效果
2022-10-25 18:19:51
![](https://img.aspxhome.com/file/2023/4/131634_0s.png)
这样写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
![](https://img.aspxhome.com/file/2023/8/134618_0s.png)
详解CentOS升级Python2.6到Python2.7并安装pip
2023-06-13 18:59:45
树莓派4B安装Tensorflow的方法步骤
2023-09-05 17:28:06
![](https://img.aspxhome.com/file/2023/7/120267_0s.png)
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
![](https://img.aspxhome.com/file/2023/0/135550_0s.gif)
在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程
2023-05-12 10:50:46
![](https://img.aspxhome.com/file/2023/9/109539_0s.jpg)
Python实现两个list求交集,并集,差集的方法示例
2021-12-27 19:52:06
使用python进行图片的文字识别详细代码
2021-06-27 07:01:06
![](https://img.aspxhome.com/file/2023/6/101336_0s.jpg)
javascript与jsp发送请求到servlet的几种方式实例
2023-06-15 15:59:30
Python如何实现转换URL详解
2021-06-28 20:23:46
![](https://img.aspxhome.com/file/2023/3/123823_0s.jpg)