inflearn logo
강의

Course

Instructor

[MMORPG Game Development with C++ and Unreal Series] Part 1: Introduction to C++ Programming

스택 오버플로우

Resolved

790

whitecherry11230967

2 asked

2

안녕하세요,

함수의 경우 스택에서 호출이 된다고 하셨는데,

그러면 재귀적으로 무한루프에 빠진 코드의 경우 스택 오버플로우가 발생하는 게 맞나요?

그리고 while이나 for문에서 무한 루프가 발생한 경우도 스택 오버플로우에 해당되나요?

또 힙 오버플로우는 어떤 경우에 발생하는지 궁금합니다.

C++

Answer 1

0

Rookiss

그러면 재귀적으로 무한루프에 빠진 코드의 경우 스택 오버플로우가 발생하는 게 맞나요?
YES! [무한루프]라기보단 [무한 재귀]에 빠졌을 경우 스택 메모리가 터져 오버플로우가 일어납니다.

그리고 while이나 for문에서 무한 루프가 발생한 경우도 스택 오버플로우에 해당되나요?
NO! 그건 그냥 코드가 먹통이 된 것이지 딱히 스택 오버플로우는 아닙니다.
스택 오버플로 잘못된 재귀 함수 호출로 터지는 경우(정말 메모리 고갈)
그리고 메모리 복사 과정에서 영역을 침범해서 복사하는 경우가 있습니다.

또 힙 오버플로우는 어떤 경우에 발생하는지 궁금합니다.
버퍼는 100바이트로 잡았는데 memcpy 등 복사 함수로 원래 영역을 한참 초과해서 복사할 때
이를 버퍼 오버플로우라고 하고, 버퍼의 할당 위치에 따라
'힙 오버플로우' or '스택 오버플로우'로 구분할 수 있습니다.


visualstudio에서 파일분할관리실습시 설정 문의를 드립니다.

0

541

1

정렬함수 좀 더 확실하게 이해 할 방법이 있을까요?

0

441

1

strcpy() 구현 관련 질문

0

513

1

빌드(망치)를 누르니 이런 오류가 떴습니다. 어떻게 해야 하나요?

0

452

1

클래스 타입의 포인터 질문합니다

0

546

1

입력값을 enum 값에 넣어주는거 이제 막혔나요?

0

497

1

템플릿 특수화 관련 질문

0

384

1

포인터 관련 질문합니다!

0

263

1

Unable to start assembler. Check your settings.

0

829

2

cpu선택

0

539

1

포인터 질문이 있습니다

0

322

1

20:35 에서 구조체 크기에 대한 질문입니다!

0

584

1

iterator 삭제관련

0

406

1

함수 호출을 디스어셈블러로 분석하다가 궁금점이 생겼습니다!

0

310

1

15 분 45초 대 질문

0

308

0

스택 프레임 질문합니다!

2

306

1

오른값 참조 in 게임

0

384

0

동적할당 질문이 있습니다

0

449

1

안녕하세요 메모리에 대해 질문드립니다.

0

304

1

함수객체 의 매개변수

0

358

1

복사생성자

0

434

1

main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요

0

419

1

포인터 실습 강의를 보고 궁금한게 있습니다.

0

353

1

반환타입, 매개변수타입

0

296

1