a = sbrk(20*1024*1024+8192);
a=(int *)((((int)a>>13)<<13)+8192);
gettimeofday(&start,NULL);
ARRAY_SIZE = 20*1024*1024+8192;
for (times=0; times<SOME_LARGE_NUMBER; times++){
for (i=0; i<ARRAY_SIZE; i=i+SOME_ACCESS_SIZE){
dummy=a[i];
}
}
显然我得到了上面代码的浮点异常,这是因为 ARRAY_SIZE 是 20mb,我怎么不会得到段错误或浮点异常但仍然有 20mb 的大小。