有关堆栈大小的警告消息
Warning message regarding stack size
我在激活Code Analysis
的情况下使用Visual Studio 2010
。在我的代码中,有一行在函数中分配一些内存:
TCHAR someString[40000];
代码分析抛出警告信息:
警告C6262:函数使用了"40000"字节的堆栈:超过/analyze:stacksize"6384"。考虑将一些数据移动到堆
我想知道我是否应该认真对待这个警告。如果我在堆栈>16384上分配一些内存,我会面临一些真正的麻烦吗?还是这只是一条一般的警告信息,提醒我必须注意我的堆栈大小?据我所知,默认堆栈大小是1MB(如果您使用Visual Studio)。
诚然,这个消息可能会令人困惑,因为VS(项目属性)确实报告了默认值为1M。但是,如果您查看警告的文本,您会注意到代码分析的限制实际上是16k。按照该链接底部的步骤更正警告。
我发现必须认真对待这样的警告。我有申报
{ // some local branch deep inside a function char T[2000000]; ... }
错误地留在了一个大函数的深处。函数总是在进入函数后立即崩溃,即使本地分支中的声明很远,而且我从未使用调试器到达那里。在MSVisualStudio中很难找到它,即使代码分析给了我警告。
相关文章:
- 警告处理为错误这里有什么问题
- 将类成员函数作为线程调用到另一个类成员函数时发出警告消息
- GCC 警告和 gcc 错误消息之间的区别
- 修复与mpd_setminalloc相关的警告消息
- 如何避免"'=': truncation of constant value"的警告消息?
- 蓝牙中的警告消息:不支持 TIOCGSERIAL
- QT 信号插槽问题。发出信号,不调用时隙。没有警告,没有错误,没有消息
- 有没有办法自定义编译错误/警告消息
- 我可以在 Xcode 的消息/警告中打印出预处理器值吗?
- 为什么编译器对auto x=a给出不同的警告消息;和auto x(a)
- 将终端上的所有消息和警告打印到文件中
- Bii 发现警告消息与 Apache Xerces 包括
- 如何识别导致Qt警告消息的线路?
- 如何禁用GCC中的#警告消息
- 令人烦恼的C++gcc警告消息
- g++在虚拟析构函数中给出了删除数组的警告消息,这意味着什么
- 具有多重继承的消息映射MFC:如何避免警告C4407和运行时崩溃
- 在使用特定枚举标识符时打印出静态"deprecate"警告消息并附上建议的更正?
- 有关堆栈大小的警告消息
- QtConcurrent::使用MainWindow功能运行,警告消息"QObject::setParent: