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


Posted in Python onJune 24, 2019

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

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

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

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

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

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

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

Python 相关文章推荐
使用Python编写基于DHT协议的BT资源爬虫
Mar 19 Python
python中的错误处理
Apr 10 Python
python中urlparse模块介绍与使用示例
Nov 19 Python
python 使用正则表达式按照多个空格分割字符的实例
Dec 20 Python
HTML的form表单和django的form表单
Jul 25 Python
python使用matplotlib绘制雷达图
Oct 18 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
tensorflow 变长序列存储实例
Jan 20 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 Python
python实现人工蜂群算法
Sep 18 Python
python 实现图片批量压缩的示例
Dec 18 Python
python自动化发送邮件实例讲解
Jan 04 Python
python爬虫之自制英汉字典
Jun 24 #Python
Pyqt5实现英文学习词典
Jun 24 #Python
set在python里的含义和用法
Jun 24 #Python
如何利用Anaconda配置简单的Python环境
Jun 24 #Python
python程序变成软件的实操方法
Jun 24 #Python
PyCharm安装Markdown插件的两种方法
Jun 24 #Python
python设置环境变量的原因和方法
Jun 24 #Python
You might like
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
PHP处理会话函数大总结
2015/08/05 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
使用AngularJS实现可伸缩的页面切换的方法
2015/06/19 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
详解python调度框架APScheduler使用
2017/03/28 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
2019/08/28 Python
python与pycharm有何区别
2020/07/01 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
交通法规咨询中心工作职责
2013/11/27 职场文书
化学教师自荐信范文
2013/12/28 职场文书
高中教师评语大全
2014/04/25 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
仲裁协议书
2014/09/26 职场文书
个人催款函范文
2015/06/24 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
利用 SQL Server 过滤索引提高查询语句的性能分析
2021/07/15 SQL Server