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が20 mbであるためです。セグメンテーション違反や浮動小数点の例外が発生しないのに、そのサイズが20mbの場合はどうすればよいですか。