1

在 C 中分配内存时,

char * undecoded_query_array = (char*) malloc(100); 

我收到以下错误:

警告:ZwAllocateVirtualMemory failed c0000018 for heap 006D0000 (base 006D2000, size 0002F000)

有人会明白为什么会这样吗?这很奇怪,因为当我将命令行参数更改为我的程序时,我注意到了这个问题......当我将它改回原来的参数时,程序又可以工作了?

我还发现,如果我将分配的金额从 100 更改为 10000,程序会再次正常运行。

不确定这些发现是否相关或是否与手头的问题有关。

谢谢。

4

1 回答 1

0

更改命令行参数会产生影响的事实很能说明问题。我的猜测是你以某种方式破坏了100传递给malloc. 如何提供一个最小的、完整的代码示例来演示该问题?或者您可以尝试通过int变量传递大小以确认请求的数量正确。

于 2013-05-17T02:26:25.053 回答