|
문경재 님이 쓰신 글 :
: 힙에 선언하려다...ㅋ
: 걍 Struct로 처리했습니다..
:
: 답변들 너무 감사합니다.
:
:
: Lyn 님이 쓰신 글 :
: : 스택 넘치겠네요.
: :
: : 저런 큰 배열은 스택에 선언하지말고 new(혹은 malloc) 으로 Heap 에 선언하세요.
: :
: : 문경재 님이 쓰신 글 :
: : : 배열을 double a[21][81][51] = {0,};
: : : 주었을때는 문제가 없는데
: : :
: : : 배열을 double a[21][81][51][3] = {0,};
: : : 이렇게 주었을때
: : :
: : : Assertion failed: config, file c:\src\ilink\w\import.cpp, line 311에러가 납니다.
: : :
: : : 해결방법이 무엇이 있을까요..
스트럭쳐든 배열이든 간에 32비트 환경에서 저 정도 크기의 스테틱 데이타는 컴파일러가
아무런 문제 없이 다뤄줘야 합니다. 질문에 언급된 에러는, 스텍 오버플로 문제를 떠나서,
프로그램 런타임 중에 나타난 에러가 아니고, 컴파일러 자체의 문제로 인해서 표시된 에러로
보입니다. 컴파일 과정 중에, 컴파일러 자체가 표시해준 에러 메세지라는 거죠.
Assertion failed 메세지 내용으로 봐선, 특히 컴파일러 백엔드 부분인 링커에 문제가 있는 것으로
보이네요 (스태틱 데이타를 제대로 생성해 주지 못하는 문제). 구버전이라면 새로운 버전의 컴파일러로
바꿔서 사용하는 게 좋을 듯 싶습니다.
|