如果非常需要下载特定的GCC,请百度“安装GCC-4.6.1详细教程 ”,网易的网页,然后进去找GCC的下载地址,进入下载页面后,拖到最下方,最新版本是5.2。或者私信我,我给你发GCC的下载网址
这个问题实际上就是由于内存分配不足(从你使用imax=pow(2,28)时可以正常运行这个情况可以持出来),而你又没有做内存检测造成的。你做一下检测,再进行赋值运算才行。另外,你手动申请的内存,应该要记得释放。
虽然你的电脑,内存是8G,但实际上,这8G你开机之后就不可能有8G了,所以实际上你最多是分配不到8G这么大的空间的。
#include <math.h>
#include <malloc.h>
#include "stdlib.h"
main()
{
long long i,imax
imax=pow(2,30)//2的30次方
float *P=(float *)malloc(imax * sizeof(float))//sizeof(float)应该是4,所以你分配了2的32次方比特的空间,大约是4*1024*1024*1024,就是4G空间,运行这个程序前你最好去看下你的电脑,系统内存是不是还有4G
if(P==0)
{
printf("系统内存不足,请减小你需要申请的内存空间")
exit(0)
}
for(i=0i<imaxi++)
P[i]=0
free(P)
getch()
}
8G 空间就是2的33次方比特这么大的空间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)