在Microsoft Visual C ++中,我需要更多的堆栈空间。所以我进入了链接器属性并将其提升。但后来我注意到另一个属性:“堆保留大小”(链接器选项:/ HEAP),注意:“默认堆大小为1 MB”。
为什么我可以在堆上使用堆大小为1MB的malloc 50MB“”?
如果我对堆栈执行相同操作,则会出现堆栈空间异常。
答案 0 :(得分:1)
为什么我可以在堆上大小为1MB的malloc 50MB?
如果我对堆栈做同样的事情,我会得到一个堆栈空间 异常。
那是因为堆可以增长而堆栈是固定的。 1MB
只是堆的初始大小。