堆栈分配的建议最大大小

时间:2014-04-05 15:14:14

标签: c++ memory c++11 stack heap

假设需要一个固定大小的缓冲区,是否有大小限制或阈值,以便在该大小限制下,可以使用快速堆栈分配{{1在这个限制之上,最好使用std::array从堆中动态分配的内存(因为堆栈内存很宝贵,不应该消耗很多)?

std::vector

1 个答案:

答案 0 :(得分:2)

没有官方限制。您可以增加或减少每个系统上的默认堆栈大小。

对于Visual Studio用户模式应用程序,堆栈大小的默认警告 16 Kb 1 Kb < / strong>在内核模式下。一些静态分析仪工具使用相同的警告限制。

warning C6262: Function uses '30000' bytes of stack: exceeds /analyze:stacksize'16384'. Consider moving some data to heap

http://msdn.microsoft.com/en-us/library/7yhee2f0.aspx

这只是一个警告,但可以将其视为建议的堆栈分配限制。