我的环境是 gcc、C++、Linux。当我的应用程序进行一些数据计算时,它可能需要一个“大”(可能是几 MB)的内存来存储数据、计算结果和其他东西。我得到了一些使用new , delete的代码来完成这个。由于在某些函数范围之外没有所有权,我认为所有这些内存都可以在堆栈中分配。
问题是,默认堆栈大小(在我的系统中为 8192Kb)可能不够。我可能需要更改这些堆栈分配的堆栈大小。此外,如果将来计算需要更多数据,我可能需要再次扩展堆栈大小。
那么扩展堆栈大小是一种选择吗?既然不能分配给具体的功能,对整个应用会有什么影响呢?在堆栈上而不是在堆上分配数据真的是一种改进吗?