C++ 함수 - 호출 규약

진경천·2023년 9월 15일
0

C++

목록 보기
31/90

Cdec(C Declaration)

  • ESP : 스택의 가장 마지막 값을 가리키는 주소값
  • EBP : 레지스터 베이스 포인터
  • EIP : 다음에 실행할 메모리 주소
int result = sum(10, 20);

함수 호출에는 Callstack 과정이 이뤄진다.

  • sum 함수를 호출하는 과정
    1. 매개변수 y, x 순으로 저장
    2. EIP 주소, return adress 저장
    3. 함수 호출
    4. EBP 주소 저장
    5. total값 저장
    6. EAX에 total값 저장
     
  • sum 함수 호출 후 main함수로 복귀 과정
    1. total 값 제거
    2. EBP 복구
    3. 복귀 주소를 EIP로 복구
    4. 매개변수 정리
profile
어중이떠중이

0개의 댓글