09/05/02 21:04:49 Y76ySRdU
>>231,244
既に答えのレスがある様だけど、単純にスタックを喰い潰してるだけじゃね。
ulimit -Ss unlimited とかしときゃいいんじゃね?
$ cat hoge.c
#include <stdio.h>
#define NUM 4UL
#define ELM 500000UL
int main (void) { float a[NUM][ELM]; printf ("%zu\n", sizeof a); return 0; }
$ make CFLAGS="-Wall -O0 -g" hoge
cc -Wall -O0 -g hoge.c -o hoge
$ ulimit -Ss
8192
$ ./hoge
8000000
$ ulimit -Ss 7812
$ ./hoge
セグメンテーション違反です
$