작성
·
225
0
강의 12분 8초에 esp 레지스터의 주소값을 메모리에 검색해서 볼 때 esp 밑으로는(esp보다 높은 주소) 스택의 유효범위라고 말씀하셨는데 스택의 유효범위라는 것이 OS가 정해놓은 전체 스택범위를 말하는 건가요? 스택은 높은주소에서 낮은 주소로 쌓이는 걸로 알고 있는데 저기 esp 위로의 값들은 어차피 안쓸 값들인데 왜 있는건가요?
답변 1
1
OS가 정해놓은 전체 스택을 말하는게 아니고,
현재까지 이 함수 ~ 저 함수에 의해 만들어진 스택 프레임의 유효 범위를 의미하는 겁니다.
esp 아래 범위도 실제 접근해서 값을 써보면 크래시 없이 '사용'은 가능합니다.
스택은 힙과 다르게 필요한 영역을 먼저 잡고 (보통 빌드 설정으로 조절 가능, 1~4mb 정도가 일반적)
거기서 쪼개서 씁니다.