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