| [ CnUnix ] in KIDS 글 쓴 이(By): windy96 (BrandNew) 날 짜 (Date): 2002년 11월 21일 목요일 오후 10시 22분 17초 제 목(Title): C에서 배열 할당 문제 gcc에서 컴파일을 하다 보니 메모리 할당하는 데서 실행 에러가 납니다. int i1[1000000]; 하면 int 100만개 짜리 배열이 만들어지는데.. int i2[1000000]; 해서 100만개 짜리 2개를 만들면... 실행 시에 segmentation fault를 내면서 죽습니다. 전혀 실행을 못하고 죽는 것으로 봐서는 코드 세그먼트에 일정량 이상의 변수를 할당하지 못하는게 아닌가 생각됩니다만.. 이런 류의 말은 들어본 적이 없어서 질문 올려봅니다. 물론 정 필요하다면 malloc을 하면 되지 않을까 싶지만.. (이러면 설마... 되겠지.. --;) Linux 2.4에서 gcc 2.95로 했는데.. 혹시 리눅이의 한계인가 하며 툴툴대면서 Solaris 2.6에서 해봤습니다만.. gcc 3.0에서 똑같은 결과를 얻었습니다. 원래 C 표준에 배열 얼마 이상 할당 못 해 이런 것은 없을테고.. 어떤 이유에서 안 되는 건가요? |