编译型语言(C/C++)和解释性语言(Python)的区别

引入

在这里插入图片描述
在这里插入图片描述

原理

编译型语言:
编译型语言是指使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码,一次性“翻译” 成可被该平台硬件执行的机器语言(包括机器指令和操作数),并包装成该平台所能识别的可执行程序的格式(如.exe文件),这个转换过程称为编译(Compile)。编译生成的可执行程序可以脱离开发环境,在特定的平台上独立运行。

解释型语言:
解释型语言是指使用专门的解释器,将源程序逐行解释成特定平台的机器代码并立即执行的语言。

回忆一下,C/C++运行前需要编译再执行,而python可以在命令行中一句一句地执行,且最终不生成.exe文件。

对于编译型语言(比如C语言)我们只需要安装一个编译器,但是对于解释型语言,我们不仅需要安装一个特定的编译器,还要安装特定的安装环境。

区别

  1. C++效率高,编程难;python效率低,编程简单。同样的功能,或许python可以很快的写出代码,但运行所需的时间需要成倍于C++。python是一种脚本语言,是解释执行的,不需要经过编译,所以很方便快捷,且能够很好地跨平台,写一些小工具小程序特别合适。
  2. 编译型语言是一次性地编译成机器码,所以可以脱离开发环境独立运行,而且通常运行效率较高;解释型语言每次执行解释型语言的程序都需要进行一次编译,因此解释型语言的程序运行效率通常较低,而且不能脱离解释器独立运行。但解释型语言有一个优势:跨平台比较容易,只需提供特定平台的解释器即可,每个特定平台上的解释器负责将源程序解释成特定平台的机器指令即可。比如Java,我们在运行时会生成一个.class的字节码文件,然后再转化为特定平台的机器码
  3. python是解释执行的,和物理机CPU之间多了解释器这层,而C++是编译执行的,直接就是机器码,编译的时候编译器又可以进行一些优化。因此在运行效率上,C++要远好于python。

猜你喜欢

转载自blog.csdn.net/weixin_45184581/article/details/124021113