2字节的int都已经过时十多年了 在 [EMAIL PROTECTED]<[EMAIL PROTECTED]> 写道: > 我觉得这个程序可能有点问题。我学过点 C 的。 > int 整形数的话,最大的数是 65535,如果是 unsigned 的话再乘2。 > 而你的 1024*1024*512,远远超过这个范围啊。包括下面的 int i 也是如此。 > 可能你改下程序会好点吧。 > > 当然这要看具体的机器实现方式,你用 sizeof(int) 看看你的机器把 int > 认为是多少个字节吧。如果是 2 的话,那就只有 2^16 ,最大是 65535。如果 > 是 4 的话,当我上面说的是屁话。呵呵 > > Good luck, > Nickel Cobalt > > On Thu, Nov 15, 2007 at 08:25:46PM +0800, allan xu wrote: > > 直接 double aa[1024*1024*512],刚好用4G。可以跑的,因为有的时候能跑完。 > > > > 程序大概是这样的 > > // test.cpp > > const int N = 1024*1024*512; > > double aa[N]; > > > > int main() > > { > > double sum = 0; > > for (int i=0;i < N;++i) > > aa[i] = (i % 1024)*0.001; > > for (i = 0; i < N;++i) > > sum += aa[i]; > > printf("sum = %lf\n", sum); > > } > > > > > > On Nov 15, 2007 8:10 PM, gradetwo <[EMAIL PROTECTED]> wrote: > > > 如何开的数组? > > > 直接 char szBigArray[];这样还是malloc阿? > > > 在我这边,malloc没问题,另外一种段错误. > > > > > > 在 2007-11-15四的 17:34 +0800,allan xu写道: > > > > > > > 新配的一台 core2 Q6600,跑 debian sid > > > > amd64,今天碰到系统突然失去响应的情况。写了简单的c程序测试,就是开了个4G的数组,运行时大约有50%的概率造成死机。后来在console上运行时看到输出 > > > > panic 信息,先是一大堆信息,最后一行是:Kernel panic - not syncing: Aiee, killing > > > > interrupt handler > > > > > > > > 机器的硬件是: > > > > CPU:Q6600 > > > > 主板:华硕P5b > > > > 内存:4G kingston? > > > > 显卡:华硕8500GT > > > > > > > > 系统是 debian sid amd64, 内核版本是 2.6.22,无论是自带的内核还是编译的内核,都会出这个错误。 > > > > > > > > 曾怀疑是内存的问题,但用 memtest86 测了4个多小时也没有检测到错误。 > > > > > > > > 有网友碰到过这个错误吗?指点一下。谢谢! > > > > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > >
-- Ren Xiaolei