前端之家收集整理的这篇文章主要介绍了
堆栈内存是否有限制?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在通过其中一个线程.
因为程序崩溃
它已经在一个
函数内本地声明了一个10 ^ 6的数组.
原因是堆栈上的内存分配失败导致崩溃.
当全局声明相同的数组时,它运行良好(堆上的内存保存它).
现在我们假设,
堆叠向下生长并向上堆积.
我们有:
— STACK —
——————-
– -堆 – –
现在我相信,如果堆栈分配失败,
它也必须在堆上失败.
所以我的问题是:堆栈大小有限吗?
(超越限制导致程序崩溃).
还是我错过了什么?
这一切都取决于你使用的语言和编译器.但是编程的程序例如C或C在程序启动时分配一个固定大小的堆栈.堆栈的大小通常可以在编译时指定(我的特定编译器默认为1 MB).