原文:《深度剖析CPython解释器》24. Python运行时环境的初始化、源码分析Python解释器在启动时都做了哪些事情?

楔子 我们之前分析了Python的核心 字节码 以及虚拟机的剖析工作,但这仅仅只是一部分,而其余的部分则被遮在了幕后。记得我们在分析虚拟机的时候,曾这么说过: 当Python启动后,首先会进行 运行时环境 的初始化,而关于 运行时环境 的初始化是一个非常复杂的过程。并且 运行时环境 和 执行环境 是不同的, 运行时环境 是一个全局的概念,而 执行环境 是一个栈帧。关于 运行时环境 我们后面将用单独 ...

2020-09-09 21:39 5 979 推荐指数:

查看详情

深度剖析CPython解释器》34. 侵入 Python 虚拟机,动态修改底层数据结构和运行时

楔子 之前分析了那么久的虚拟机,多少会有点无聊,那么本次我们来介绍一个好玩的,看看如何修改 Python 解释器的底层数据结构和运行时。了解虚拟机除了可以让我们写出更好的代码之外,还可以对 Python 进行改造。举个栗子: 是不是很有趣呢?通过 Python 内置的 ctypes 模块 ...

Sun Oct 31 21:50:00 CST 2021 0 1298
深度剖析CPython解释器》8. 解密Python中列表的底层实现,通过源码分析列表支持的相关操作

楔子 Python中的列表可以说使用的非常广泛了,在初学列表的时候,老师会告诉你列表就是一个大仓库,什么都可以存放。不过在最开始的几个章节中,我们花了很大的笔墨介绍了Python中的对象,并明白了Python中变量的本质,我们知道列表中存放的元素其实都是泛型指针PyObject *,所以到现在 ...

Sun Aug 09 12:03:00 CST 2020 8 843
深度剖析CPython解释器》31. Python 和 C / C++ 联合编程

楔子 Python 和 C / C++ 混合编程已经屡见不鲜了,那为什么要将这两种语言结合起来呢?或者说,这两种语言混合起来能给为我们带来什么好处呢?首先,Python 和 C / C++ 联合,无非两种情况。 1. C / C++ 为主导的项目中引入 Python; 2. ...

Fri Feb 12 09:56:00 CST 2021 6 826
深度剖析CPython解释器》10. Python中的PyCodeObject对象与pyc文件

楔子 当我们想要执行一个py文件的时候,只需要python xxx.py即可,但是你有没有想过这背后的流程是怎么样的呢?从这里开始我们就开始进入到Python虚拟机的环节了,之前都是在介绍Python中的一些内置对象,不过虚拟机的执行流程、以及背后的原理却更是值得我们关注的。 这里我们先来 ...

Sat Aug 15 10:31:00 CST 2020 0 642
深度剖析CPython解释器》32. Python 和 Go 联合编程

楔子 Python 可以和 C 无缝结合,通过 C 来为 Python 编写扩展可以极大地提升 Python 的效率,但是使用 C 来编程显然不是很方便,于是本人想到了 Go。对比 C 和 Go 会发现两者非常相似,没错,Go 语言具有强烈的 C 语言背景,其设计者以及语言的设计目标都和 C ...

Wed May 19 01:39:00 CST 2021 1 2107
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM