在C中分配内存时,
char * undecoded_query_array = (char*) malloc(100);
我收到以下错误:
警告:ZwAllocateVirtualMemory为堆006D0000(基本006D2000,大小0002F000)c0000018失败
有人会理解为什么会这样吗?这很奇怪因为,当我将命令行参数更改为我的程序时,我注意到了这个问题...当我将其更改回原始参数时,程序再次运行?
我还发现,如果我将分配的数量从100更改为10000,程序将再次正常工作。
不确定这些调查结果是否相关或是否与手头的问题有关。
感谢。
答案 0 :(得分:0)
更改命令行参数的效果很明显。我的猜测是你以某种方式破坏传递给100
的{{1}}。提供一个演示问题的最小,完整的代码示例怎么样?或者您可以尝试通过malloc
变量传递大小以确认正在请求正确的金额。