当前位置:  开发笔记 > 编程语言 > 正文

python是基于堆栈的意思是什么?

如何解决《python是基于堆栈的意思是什么?》经验,为你挑选了1个好方法。

我已经了解了CPython是如何基于堆栈的.这是什么意思?当我使用dis模块时,我看到LOAD_FAST等操作,其中值放在堆栈上.但我已经读过python中的所有值都是对象,因此进入堆中.我想我在这里混淆了两件不同的事情.我还读到有一种叫做无堆栈的python.有人可以澄清一下吗?



1> Vovanrock200..:

最流行的python解释器CPython可以被视为基于堆栈的虚拟机.这意味着python代码是为具有堆栈体系结构的虚拟(虚拟)计算机编译的.

另一方面是如何实现此虚拟机.它显然不是一块硬件(并且处理器制造商尝试添加对某些虚拟机的支持,例如JVM,通常不会成功).因此,这个堆栈机器由用C编写的程序模拟,它是CPython解释器的一部分.

关于堆栈和堆如何共存,现在应该清楚 - 虚拟机和堆栈都放在堆内存中.使用从虚拟机的角度LOAD_FAST将对象放置在堆栈顶部,并且从OS的角度来看,同一指令将对象放在堆中.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有