c++ - 有关堆栈大小的警告消息

标签 c++ visual-studio-2010 visual-c++ stack

我使用 Visual Studio 2010 并激活了 代码分析。在我的代码中有一行在函数中分配一些内存:

TCHAR someString[40000]; 

代码分析抛出警告信息:

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

我想知道我是否应该认真对待这个警告。如果我在堆栈上分配一些内存> 16384,我是否必须面对一些真正的麻烦?或者它只是一条一般性的警告信息,提醒我必须注意我的筹码量?据我所知,默认堆栈大小为 1MB(如果您使用 Visual Studio)。

最佳答案

不可否认,由于 VS(项目属性)确实报告默认值为 1M,因此该消息可能会造成混淆。但是,如果您查看 warning 的文本,您会注意到代码分析的限制实际上是 16k。按照该链接底部的步骤更正警告。

关于c++ - 有关堆栈大小的警告消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23269406/

相关文章:

c++ - 在 C 中的 fwrite 上检测光盘移除

c++ - std::experimental::is_detected 的奇怪 MSVC 行为

c++ - 在 std::vector 声明中使用 void 指针有多糟糕?

c++ - 复制构造函数和函数返回临时值

c++ - 对于看起来非常好的 C++ 代码,VC++ 中的错误?

c# - Ascii 到 XML 字符集转换

c++ - 将资源文件与应用程序链接?

c++ - 将 64 位枚举传递给 Printf 时出现 VS2010 错误

c# - 当前上下文中不存在 HttpUtility

c - 多行字符串初始化