【发布时间】:2014-08-05 01:42:58
【问题描述】:
我正在学习操作系统,而我不完全了解的是堆和堆栈。我知道它们的好处以及它们是如何工作的,但是在动态语言的情况下,我无法弄清楚堆栈是如何分配的。
在静态类型语言中,所有原始数据类型都存储在堆栈中,因为它们很小,并且将或多或少按照它们分配的顺序被释放,但是在像 PHP 这样的语言中,直到运行时才知道这一点。那么堆栈大小和变量分配是如何实现的呢?
如果我理解正确,堆栈大小是在编译时通过分析原始数据类型的数量和一些偏移量来确定的。 PHP或其他动态语言是如何完成这个过程的?
如果这个问题在黑暗中被踢,请给我一些指导如何了解这个
【问题讨论】:
-
我将标签动态编程固定为动态语言
标签: php heap-memory stack-memory dynamic-languages