编译型语言和解释型语言的区别

本文对比了编译型语言如C/C++与解释型语言如Python的工作原理。编译型语言通过编译和链接生成可执行文件,而解释型语言则逐行解释执行。编译型语言执行速度快但跨平台性较差,解释型语言反之。

1. 编译型语言的工作原理

属于编译型语言的有:C、C++、Delphi等,其中选取C语言为代表来说明。首先,C编程的基本策略是,用程序把源代码文件转换为可执行文件。

典型的C实现通过编译链接两个步骤来完成这一过程:

1. 程序员使用文本编辑器创建源代码文件

2. 编译器把源代码翻译成中间代码(机器语言),并把结果放在目标代码文件中

3. 链接器把中间代码和系统的标准启动代码、库函数代码合并成可执行文件,并交由CPU去执行

*科普:

1. 启动代码,充当着程序和操作系统之间的接口,不同操作系统对应不同的启动代码,因为这些系统处理程序的方式不同。

2. 库函数代码,为C标准库中的函数,几乎所有的C程序都要使用。例如,example.c中用了printf()函数,目标代码文件并不包含该函数的代码,它只包含了使用printf()函数的指令。printf()函数真正的代码储存在另一个被称为库的文件中。库文件中有许多函数的目标代码。

在这里插入图片描述

图1 编译器和链接器

2. 解释型语言的工作原理

属于解释型语言的有:Python、JavaScript 、 Perl 、Shell等,其中选取Python为代表来说明。首先,Python编程的基本策略是,用程序把源代码文件一行一行地转换为可执行代码

典型的Python实现通过解释这个步骤来完成这一过程:

1.程序员使用文本编辑器创建源代码文件

2. 解释器从上到下逐一读取源代码,读取一行,翻译一行,并把翻译结果(机器语言)交由CPU去执行,以此往复

在这里插入图片描述

图2 解释器 # 3. 总结
  1. 从执行速度而言,编译型语言更快。

编译型语言执行的时候,CPU可直接读取可执行代码(机器语言),速度很快。
解释型语言执行的时候,需要解释器翻译一行,CPU执行一行,速度相对较慢。

  1. 从跨平台而言,解释型语言更便利。

编译型语言,不仅要根据不同CPU安装对应编译器,还需要根据不同操作系统选用应不同启动代码,不便利。
解释型语言,仅需要根据不同操作系统安装对应解释器,十分便利。

参考文献:

[1]Stephen Prata.C Primer Plus[M].(第6版).北京:人民邮电出版社,2016:10-11.
[2]黑马程序员-.Python教程_600集Python从入门到精通教程[DB].Bilibili,2017.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting_1997

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值