我无法使用以下代码分配内存:
int *h_VC = (int *)malloc(sizeof(int)*SIZE); //SIZE is 19200
if(h_VC==NULL)
{
printf("Memory Not avaialble");
}我的代码在一个while循环中使用了上面的代码块,并且运行了几次。我有8 8GB的内存。我在运行代码的同时监控空闲内存。
尽管我还有大约3 3GB的空闲内存,内存分配还是失败了。
可能的问题是什么?
发布于 2011-12-14 18:09:28
我使用Visual Studio作为编译器。将程序编译为x64解决了这个问题。
感谢Alex的评论。
发布于 2011-12-13 21:03:31
任何事情都可能是问题所在。将printf替换为
perror("");来得到一个提示。
https://stackoverflow.com/questions/8489682
复制相似问题