python解释器的介绍:
解释器由一个编译器和一个虚拟机构成,编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码。
所以,解释型语言其实也有编译过程,只不过这个编译过程并敬渗亩不是直接生成目标代码,而是中间代码(字节码),然后再通过虚拟机来逐行解释执行字节码。
计算机的大脑是CPU, 中文名叫中央处理器,它仍然不能直接处理 Python 语言。CPU 只能直接处理机器指令语言,那是一种由0和1数字组成的语言,这是一种我们人很难直接写出来的语言。
所以,我们需要一个翻译,把Python语言翻译成 计算机CPU 能听懂的机器指令语言,这样计算机才能按照 我们的Python程序的要求去做事。.py结尾的文件需要解释器去运行执行。
执行过程原理:
1.执行 python XX.py 后,将会启动 Python 的解释器。
2.python解释器的编译器会将.py源文件编译(解释)成字节码生成PyCodeObject字节码对象存放在内存中。
3.python解释器的虚拟机将执行内存中的字节码对象转化为机亮森器语言,虚拟机与 *** 作系统交互,使机器语言在机器硬件上运行。
4.运行结束后python解释器则将PyCodeObject写回到pyc文件中。当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。
Python解释器执行程序的三个阶段:
第一步:先启动python3解释器。
第二步:Python3解释器就像一个文本编辑器一样将文件python3 D:\test.py从硬盘读入内存。
第三步:Python3解释器解释执行文件代码。
只有第三阶段喊亩才识别python的语法。
C 语言程序仅可以解释执行。
解释程序是将源程序(如BASIC)作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。编译程序是把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。
相对于编译性语言,其优点是可移植性好,只要有解释器环境,程序就可以在不同的 *** 作系统上运行。
缺点是代码需要有专门的解释器,在程序运行时,除要给用户程序本身分配内存空间外,解释器也占用系统资源,所以其运行速度较慢。另外,也很难达到像C、C++那样 *** 作系统底层 *** 作的目的。握拍返
解释型语言常用于,一是对运行速度要求不高(如一些网页脚本等)的场合,二是对跨平台(贺贺 *** 作系统的兼容性)有要求的场合。
扩展资料
1、Python和Java语言,专门有一个解释器能够直接执行Python程序,每个语段饥句都是执行的时候才翻译。
2、 Python代码在运行前,会先编译成中间代码,每个 .py 文件将被换转成pyc 文件,pyc 就是一种字节码文件,它是与平台无关的中间代码。不管放在 Windows 还是 Linux 平台都可以执行,运行时将由虚拟机逐行把字节码翻译成目标代码。
参考资料来源:百度百科-解释执行
启动一个新近程(进程)命令解释器需要执行雀中以下系统调用:1. fork():用于创建一个新的进程,它是与父进程完全一前岁孝样的,包括其内存中所有的代码,数据和状态。新进程是通过复制父进程的 PCB(Process Control Block)(进程控制块) 并创建自己的内存空间而实现的。
2. execve():用于在新进程中运行命令解释器程序。此系统调用将指定的可执行文件加载到进程地址空间中来运行。该可执行文件通常为/bin/bash等命令解释器。
3. waitpid():等待新的进程执行完毕并获取其退出状态。
以上三个系统调用的组合允许创建一个完全独立的子进程来执行新慧稿命令解释器并等待其完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)