• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

x84, x64 스택 메모리

23.09.24 19:42 작성 조회수 280

0

스택이 높은 주소 에서 낮은 주소로 값이 저장 되는 것으로 알고 있었는데 x64 에서는 스택 메모리의 저장 방법이 다른건가요? x64로 실행했을 경우 메모리 까보면 낮은 주소에서 높은 주소 순서대로 저장되는 걸로 보이네요

답변 1

답변을 작성해보세요.

0

스택은 x86, x64 모두 높->낮 순서로 증가하는 것이 맞습니다.
x64의 경우 왜 그렇게 생각하셨는지 스샷 첨부 가능할까요?

김도현님의 프로필

김도현

질문자

2023.09.25

image주소 뒷자리 B4 -> D4 -> F8 순서대로 값이 들어가고 있는것 처럼 보이는데 제가 어느 부분에서 착각을 하고 있는건지 모르겠네요 ㅠㅠ

스택이 '증가'하는 방향은 함수의 스택 프레임을 봐야 합니다.
main() 내부에서 다른 함수를 호출할 때,
스택이 어느 방향으로 증가하는지 보면 되겠죠.
동일한 함수의 스택 프레임 내에서, 변수끼리의 순서는 사실 컴파일러 마음이라
변수 끼리의 순서를 보는 것으로 판별할 수 없습니다.