我有一些与内存结构有关的问题。
堆栈和堆是由OS决定的吗?还是他们分开了?
如果它们由OS决定,哪个操作系统有堆栈和堆作为内存结构的组件除了Windows?
我知道默认堆栈大小是1MB,我可以手动扩展大小,但为什么默认大小这么小?
如果堆栈大小为1MB,我不能在本地变量中保存超过1MB的数据吗?
我的最后一个问题是,如果程序员编写非托管代码(例如本机C ++)而不是托管代码(例如C#),是否有任何理由需要更多地了解内存结构?
答案 0 :(得分:1)
默认堆栈大小取决于操作系统。有些很小,有些很大。堆栈和堆是物理上分开的#34;在他们的地址不同的意义上。
差异对程序员来说很重要的原因很多: