inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

스택 메모리와 스택 프레임

함수 호출과정 질문입니다

382

김민찬

작성한 질문수 1

0


안녕하세요.

배운 내용을 다시 공부하면서 실행해본 결과입니다.

함수 호출시에 232바이트만큼

rsp를 이동시키고 rbp를 32바이트만큼 빼서

스택프레임당 32byte와 200byte의 여백을 남기는것을

확인했습니다.

 

컴파일러가 컴파일시에 스택 사이즈를 정하고 저장하는 위치가 어디인지 궁금합니다. (예를들어 스택프레임은 32byte고 중간에 카나리(?)는 200byte라는걸 결정하면, os는 프로그램 실행시 해당 정보를 어떻게 알 수 있나요?)

 

 

 

 


c++ 네트워크 ue-blueprint 게임수학 windows-api

답변 1

0

Rookiss

최대 스택 크기 등은 프로그램을 빌드할 때 설정할 수 있지만
그렇다고 운영체제가 뭔가를 알고 하는 개념이 아닙니다.
특정 스택 메모리 위치 (sp 레지스터가 가리키는)에서 일련의 명령어들을 실행할 뿐
그 정보가 정확한지 유효한지 등은 신경쓰지 않습니다.
문제가 있으면 프로그램이 crash가 나거나 이상하게 동작할 것이고
이런 것을 악용하는게 해킹의 원리입니다.

문제집은 없나요 수업을 어떻게 들어야 할지 모르겠어요

0

106

2

동적배열 Vector의 push_back 함수에서 조건문 질문

0

74

1

디버깅할때 메모리보는법 단축키가 뭐죠??

0

90

1

113-충돌처리 강의에서 22:26 부근의 SetPos()를 적용해도 충돌되지 않고 뚫고 지나가게 됩니다.

0

87

1

SaveFile에서 크래시 발생하는 분들 체크해보세요

1

70

1

수업자료 확인 부탁드립니다.

0

106

3

explicit을 붙였을 때 빨간줄이 뜨는 이유가 맞는지 궁금합니다.

0

100

0

22강에서 구조체와 포인터로 설명해주셨는데 패딩의 경우는 어떻게 되나요?

0

88

2

리소스 매니저 강의 18분 부근

0

89

1

[Service강의] owner -> shared_ptr

0

80

2

C#에서 생성자 관련 질문

0

83

2

특정 조건에서만 함수를 반환할 때

0

90

2

스택 empty

0

105

2

섹션4 배열실습 질문입니다.

0

132

1

섹션3 '파일분할' 강의 질문입니다.

0

99

1

Defines.h의 DECLARE_SINGLE관련 질문입니다.

0

110

1

세션8 우선순위 큐 pop함수의 Predicate 적용 관련 질문이 있습니다.

0

180

3

섹션9 함수 포인터 관련 질문입니다.

0

137

1

exercise_A 번 문제 해결방법에 대한 질문.

0

150

1

[강의명: virtual 소멸자] 자식 클래스의 소멸자에도 virtual 을 붙이시는 이유가 궁금합니다

0

198

2

Scene과 SceneManager 강의 수강 중 키보드 입력 오류

0

146

1

Window API 강의 수강 중 LARGE_INTEGER 타입 변환 오류

0

198

3

섹션15 스마트 포인터 20:00 질문이요!

0

127

1

55강 수업자료 빌드를 하면 이상합니다.

0

132

1