编程语言书籍解释了在堆栈上创建了值类型,并且在堆上创建了引用类型,而没有解释这两者是什么.我还没有看清楚这个问题.我理解堆栈是什么.但,
language-agnostic heap stack memory-management dynamic-memory-allocation
可能重复:
堆栈和堆的内容和位置
我在堆栈和堆上有几个问题.
要知道的基本事情是堆栈比堆快,但是有限.(如我错了请纠正我).
但是,我总是想知道堆栈和堆是如何工作的.RAM只是一块内存,它不分为'堆栈'和'堆'(或者是它?).如果是这样,为什么我们首先将堆栈和堆中的内存分开?
操作系统可以让我们能够分配堆栈中的所有内容 - >一切都变得更快 - >幸福的世界?
我很确定事实并非如此.但为什么!?谁能给我一个深入的答案?
很抱歉,如果这篇帖子是某人发过的一些帖子的副本,那么有很多与堆栈和堆相关的帖子,我找不到我所拥有的确切问题.如果您碰巧知道一个,请继续并将其链接.
操作系统:Windows 7 32位
所以在c ++中,有一个堆和一个堆栈.但是我最近开始学习一些装配,并没有看到任何类型的东西,只有一堆,但它看起来像纯粹的记忆.那么特定于c ++和其他语言的堆和堆栈实现呢?或者你仍然在汇编中分配堆和堆栈?在启动可执行文件时,windows在为进程分配内存方面做了什么?一个进程如何知道堆栈大小需要多大?
怎么回事
编辑:也许有人可以提供关于如何通过CPU/OS处理进程的堆和堆栈内存的链接