반응형 스택1 [C++] Stack overflow (Visual Studio에서 Stack Size 변경 해보기) Stack overflow는 스택 포인터가 스택의 경계를 넘어설 때 일어난다. 즉, 메모리 영역의 스택범위가 초과한 경우 발생하는 에러다. 메모리에서 스택 영역은 함수 호출 시, 생성되는 지역 변수 및 매개 변수가 저장되는 공간이다. C++ IDE의 대표적인 visual studio는 스택 사이즈의 디폴트값으로 1MB를 제공해준다. 여기서 한번 실험해 보자. 1MB는 약 1000,000B 이므로, 250,001 크기의 int타입 배열을 main함수에 선언해 보도록 한다. (int타입은 4B 크기를 가진다.) 즉, 배열의 크기는 4B X 250,001개 = 1000,004B를 가진다. 과연 Stack overflow에러가 날까? 결과화면 아무 문제없이 컴파일 되는 것을 볼 수 있다. 이는 1MB는 사실 1.. 2019. 4. 2. 이전 1 다음 반응형