친절한 답변 감사드립니다.
지역변수로 선언했습니다.
아마도 스택 오버플로우 일 것 같습니다.....
동적할당/회수 관련 자료는 어디서 찾을 수 있을까요?
참고할 만한 샘플 코드가 있는 곳이면 더욱 좋구요.....
MarunGuy 님이 쓰신 글 :
: AB 변수를 지역변수로 선언한 건가요?
: 지역변수이면 스택 오버플로우이지 않을까 합니다.
:
: 6*8,145,060 = 48,870,360 = 약48MB
: 윈도에서는 스택 기본크기가 1M 정도입니다.
: 1MB <<< 48MB
:
: AB 변수를 동적으로 할당해보세요.
:
: 새롬 님이 쓰신 글 :
: : 안녕들하세요?
: :
: : free pascal에서 array size를 크게 잡으면 exception 'External: SIGSEGV' 오류가 발생합니다.
: :
: : type
: : A1 = array[1..6] of byte;
: : B1 = array[1..8145060] of A1; <= 이 부분의 size를 작게하면 정상 수행함.
: :
: : var
: : AB : B1;
: :
: : 위의 원코드에서 B1 size를 반정도로 줄이면 프로그램이 정상 동작하는데
: : 크게하면 다음과 같은 오류가 발생합니다.
: :
: : - exception 'External: SIGSEGV'
: : - line 236: begin <= 해당 프로시저의 begin문 입니다.
: :
: : 참고로 스펙은 다음과 같습니다.
: :
: : - Windows 7 Home Premium K (32 bit OS)
: : - i7
: : - RAM: 4G
: :
: : 해결 방법이 없을까요?
: :
: :
|