Thursday 10 February 2011

0xC00000FD: Stack overflow

0xC00000FD: Stack overflow

C++ 혹은 C에서 로컬 변수로 여러 가지 변수를 선언할 때,  스택에서 할당가능한 메모리를 초과한 경우에 발생한다.

로컬 변수에 존재하는 배열이나, 기타 메모리를 할당하는 변수들을 포인터로 변경하여 선언해야 함.

Ex)
int a[200*300];
-->
int* a = new int [200*300];

주로 클래스에서 다량의 배열 변수를 사용하는 경우에 발생한다.

가급적이면 메모리 포인터를 이용하여 힙에 메모리를 할당하는 것이 바람직하다.

No comments: