【发布时间】:2016-04-14 05:47:40
【问题描述】:
模块/源文件中的函数是否有任何关于内存分配的量化测试,如以下 32 位构建所示:
#include <windows.h>
int main()
{
wchar_t TestArray [516332] = { NULL };
}
对于 516332(或 7E0EC)会成功,但会为 516333 产生堆栈溢出。 当然,2Gb 或 7FFFFFFF 的全局 decl 是合法的,但添加一个即可获得 SO。
#include <windows.h>
wchar_t TestArray [2147483647] = { NULL };
int main()
{
}
在 32 位版本中使用 VS10/MCBS,但 X64 性能不佳。在 64 或 128 系统中,函数类型(例如 long、char void、bool)是否有成比例的增加?专门用数字/表格方法寻找答案。
【问题讨论】:
标签: c++ memory stack overflow allocation