Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ASW(Application SpaceWarp)
- Rim Light
- VR
- AppSW
- Cell Look
- 프로그래밍 기초
- OculusMotionVectorPass
- Toon Shader
- Cartoon Rendering
- 작업 집합
- 가상 바이트
- Cell Shader
- C언어
- URP로 변경
- Specular
- 3d
- Virtual Byte
- ColorGradingLutPass
- working set
- Windows Build
- 벡터
- URP
- Three(Two) Tone Shading
- Private Bytes
- 개인 바이트
- 게임 수학
- 메모리 누수
Archives
- Today
- Total
WinCNT
함수 호출 규약(Calling Convention) 본문
함수 호출 규약(콜링 컨벤션, Calling Convention)
함수 호출 규약이란 함수를 호출하는 방식에 대한 규약(약속)이다
함수를 호출할 때에는 CPU가 함수를 어떻게 처리할 것인지에 대한 규약이 필요하다
함수 호출 규약의 종류는 다음에 따라 구분된다
1. 인자 전달 방법
2. 인자 전달 순서
3. Stack Frame을 정리하는 방법
함수를 호출할 때 호출 규약이 있어야 함
특히 DLL 작성 시 관련 개념이 필수
내가 모르는 코드(DLL)을 붙을 때 호출 규약이 다르면 문제가 발생한다
대표적인 함수 호출 규약으로는 cdecl, stdcall, fastcall이 있으며,
그 외에도 clrcall, thiscall, pascal, syscall, fortran가 있다
EBP 기준
main함수, 특정 함수의 EBP는 각각 다르다
EBP가 있어서 지역변수로 접근할 수 있다
호출 규약에 따라 EBP를 저장하고 불러오고 하는 것이 다르다
참고 사이트)
https://eliez3r.github.io/post/2019/10/16/study-system.Stack-Frame.html
SSS
'게임 프로그래밍(학습 내용 정리) > C' 카테고리의 다른 글
프로세스와 스레드 (0) | 2021.11.25 |
---|---|
C언어 - 연산자와 수식 (0) | 2021.10.07 |
C언어 - 데이터 타입(자료형)과 변수 (0) | 2021.10.06 |