python\java\c\解释性语言\编译性语言 程序执行过程
c时纯粹的编译性语言,执行过程如下图:
可以看出c是通过预处理器、编译器、汇编器和链接器生成可执行的二进制目标文件,然后直接运行(编译性语言的本质)。
Java和python是解释性语言,但并不是纯粹的解释性语言,准确来说是源文件被解释器加载或者显式地进行字节码编译之后,生成字节码文件,运行时字节码文件直接在解释器上边解释边运行(解释性语言的本质)。
java执行过程:
a.java(源文件)----->a.class(字节码文件)----->解释器上直接运行
python执行过程
a.py(源文件)----->a.pyc或者a.pyo(字节码文件)----->解释器上直接运行
ps:字节码(Byte-code)是一种包含执行程序,由一序列 op(操作码) 代码/数据对组成的二进制文件,是一种中间码。字节是电脑里的数据量单位。