一旦内核调度进程执行,它就设置栈和堆,前者从用户空间的顶部向下增长,后者从可执行映像的尾部向上增长。
Once the kernel schedules the process for execution, it sets the stack to grow down from the top of user space, and the heap to grow up from the end of the executable image.
它是别的其他数据区包括环境、进程参数、进程堆、线程栈和线程环境块(TEB)。
Additional data areas it recognizes include Environment, Process Parameters, Process Heap, Thread Stack, and Thread Environment Block (TEB).
回到我们在入门中非常简单的例子上,在下面的的图表中,你可以看到基于栈和基于堆的对象。
Returning to our very simple example, described in Getting Started, in the following diagram you can see the handle-stack and heap-allocated objects.
SPL中的新补充?php添加了一些有用的并且易于使用的功能,以及数据结构的实现,例如双重链接列表、栈、堆和队列。
The new additions to SPL add some useful functionality to PHP that is easy to use, as well as implementations of data structures, such as doubly linked lists, stacks, heaps, and queues.
最大的限制是,本机堆和所有线程栈都保存在分段2 中。
The most significant restriction is that the native heap and all thread stacks are held in segment 2.
最终,堆和栈会冲突。
题外话,在堆和栈的顶端,还有好几层,但是在技术段之下,他们被叫做初始化数据和未初始化数据。
Now, as an aside, there's another couple of layers at the very top above the stack and above the heap, but below the tech segment and those are called initialized data and uninitialized data.
堆支持运行时内存分配,和栈不同,大多数语言都允许程序使用堆管理内存。
The heap provides runtime memory allocation, like the stack, meant for data that must outlive the function doing the allocation, unlike the stack. Most languages provide heap management to programs.
最后,在VADump- o输出的最下端总结了DLL、堆和线程栈对工作集的相对贡献。
Finally, the bottom of the VADump -o output is a summary of the relative contributions to the working set from DLLs, heaps, and thread stacks.
这三个关键字之于栈,就像是“malloc”和“dealloc”之于堆……多余。
These three keywords are to the stack segment just as "malloc" and "dealloc" are to the heap segment... unnecessary.
这三个关键字之于栈,就像是“malloc”和“dealloc”之于堆……多余。
These three keywords are to the stack segment just as "malloc" and "dealloc" are to the heap segment... unnecessary.
应用推荐