解释执行与编译执行

编程语言分为低级语言和高级语言,机器语言、汇编语言是低级语言,C、C++、java、python等是高级语言。
机器语言是最底层的语言直接执行,汇编语言通过汇编器翻译成机器指令后执行,一条汇编指令,对应着一条机器指令。
高级语言编程的程序有三种执行方式,一种是编译执行,程序语句先通过编译器(负责将一条语句翻译成多条机器指令)翻译成机器指令然后执行;一种是解释执行,程序语句逐条被解释器解释执行,不需要编译成机器指令;最后一种是编译和解释相结合的执行方式,程序先被编译成字节码文件,然后字节码被解释器解释执行。
不同平台识别的机器指令格式是不同的,因此编译执行的语言如C的代码需要在对应平台的编译器中编译成对应的机器指令才能执行而想python这种编译加解释的语言,其被编译成的字节码文件是Python虚拟机的指令,只要此平台安装了Python虚拟机,该字节码文件就能被执行。

编译与解释的优缺点?

一段程序编译会浪费时间,并且移植到其他平台上时还要进行重新编译,但是其编译后生成的可执行文件运行速度快。
解释型程序可跨平台执行,无需编译,但因为是逐条解释执行所以运行速度不如编译型程序。

你可能感兴趣的:(解释执行与编译执行)