매일 매일 hustle

  • 홈
  • 태그
  • 방명록

calling convention 1

함수 호출 규약(Calling convention)

함수 호출 규약이란 함수를 호출할 때 규칙이다. 함수 호출 규약이 무엇인지 알기 전에 알아야하는 용어가 몇가지 있다. 먼저 prologue/epilogue이다. 아래 첫번째 그림에서 볼 수 있듯이 함수 호출전에 이전 프레임 포인터 레지스터(ebp)를 스택에 백업해두고, 프레임 베이스 포인터를 ebp에 저장해두는 것을 부분을 prologue라고 한다. 두번째 그림 처럼 "ebp + offset" 이런식으로 보통 함수에 넘겨준 인자나 return address에 쉽게 접근할 수 있다. 호출된 함수가 끝나면 해당 함수에 대한 스택은 소멸되어야 하므로 esp를 프레임 베이스 포인터로 복귀시키고, ebp는 이전 프레임의 베이스 포인터를 다시 받고 return address로 점프하는 동작을 합쳐서 epilogue..

공부/C || C++ 2021.07.20
이전
1
다음
더보기
프로필사진

  • 분류 전체보기 (125)
    • 공부 (121)
      • Algorithm (6)
      • C || C++ (43)
      • UE (8)
      • C++ Quiz (3)
      • Data Structure (5)
      • System Programming & Comput.. (3)
      • Design pattern (1)
      • Graphics, DirectX, 포트폴리오 구조 (18)
      • Git (3)
      • Server (6)
      • WINAPI (6)
      • 운영체제 (5)
      • 논문 (0)
      • 그 외 (14)
    • 프로필 (0)
    • 포트폴리오 (2)

Tag

SOCKET, 마스터 정리, winapi, DirectX, OS, Visual Studio, char*, 복사 생성자, C++, 유니코드, git, universal reference, template, 멀티바이트, StructuredBuffer, c++11, const, static, Conversion Operator, 화살표 연산자,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

페이스북 트위터 플러그인

  • GitHub

Archives

Calendar

«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바