解析型语言(脚本)与编译型语言
脚本语言:例如python脚本语言是一种解释性的语言。脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。编译型语言的运行方式。需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)、运行。编译是把源代码...
脚本语言:
例如python
脚本语言是一种解释性的语言。脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。
编译型语言的运行方式。需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)、运行。编译是把源代码编译成机器码(二进制),链接是把各个模块的机器码和依赖库串连起来生成可执行文件。
解释型语言的运行方式。源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。每个语句都是执行的时候才翻译。(在运行程序的时候才翻译,专门有一个解释器去进行翻译,每个语句都是执行的时候才翻译。效率比较低,依赖解释器,跨平台性好)
python的运行过程:当程序执行时,python内部(对大多数用户是完全隐藏的)会先将源代码(文件中的语句)编译成所谓字节码(不是二进制)的形式。一般把字节码保存为一个以 .pyc为扩展名的文件( .pyc就是编译过的 .py源代码)。一旦程序编译成字节码,之后的字节码发送到通常称为python虚拟机(PVM)上来运行。PVM不是一个独立的程序,不需要安装,它是python的运行引擎,他时常表现为python系统的一部分,并且它是实际运行脚本的组件。
精炼:
Python是用C写的。
Python解释器会把代码内容读到内存里,通过Python解释器翻译成字节码。(解析器其实包括编译器和虚拟机)
CPU不能直接读取字节码,需要把字节码转换成机器码。(通过虚拟机)
Python对于C来说,就多了一个字节码转换成机器码的过程,所以相对会慢。但是人为是无法感知的。
更多推荐
所有评论(0)