我无法使用以下代码分配内存:
int *h_VC = (int *)malloc(sizeof(int)*SIZE); //SIZE is 19200
if(h_VC==NULL)
{
printf("Memory Not avaialble");
}
我的代码在while循环中使用了上面的块,并运行了几次。我有8GB内存。我在运行代码的同时监视空闲内存。
内存分配失败,虽然我有大约3GB的空闲内存。
有什么问题吗?
任何问题都有可能。将printf
替换为
perror("");
我使用Visual Studio作为编译器。将程序编译为x64解决了这个问题。
感谢Alex的评论