일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 소멸자
- CPP
- Unreal Engine
- 복사생성자
- 자료구조
- 프로세스
- C++
- 언리얼 엔진5
- 생성자
- 포인터
- 언리얼5
- 언리얼엔진
- 게임 개발
- Unreal
- cpp개발
- 디자인패턴
- UE5
- 언리얼
- 프로그래밍
- 데이터구조
- Unreal Engine5
- 복사대입연산자
- 배열
- AI
- effectivec++
- 언리얼엔진5
- BehaviorTree
- 게임프로그래밍패턴
- C언어
- 게임개발
- Today
- Total
목록Computer Science/기타 (2)
리얼 개발

함수 호출 규약 ( Calling Convention ) 이란, 함수를 호출하는 방식에 대한 약속이다.함수를 호출하는데 뭘 약속까지 하냐? 라고 생각할 수도 있지만 함수 호출에는 꽤나 많은 일들이 일어난다.기본적인 레지스터 stack frame 등은 설명하지 않고 넘어가겠다. 함수 호출 규약으로 정하는건 다음과 같다.인자 전달 순서인자 전달 방법Stack Frame을 정리하는 방법 먼저 함수 호출 규약을 보기 전에 함수가 호출되면 컴퓨터에선 어떤 일이 벌어지는지 확인해보자.함수 호출 시 다음과 같은 일이 일어난다.call 명령어 실행push ip + jump [함수의 주소]atomic 명령어로 한 클락에 실행됨함수 프롤로그해당 함수의 stack frame을 만드는 일push ebp → mov ebp, e..
0. 소스 코드 작성 ( Source Code )C++로 소스 코드를 작성했다고 가정ex) main.c 1. 전처리 ( Preprocessing )컴파일러가 코드를 해석하기 전에 전처리기 ( preprocessor ) 가 동작하여 #include, #define 같은 지시문을 처리한다.#include 해당 헤더파일이 실제 코드로 변환됨.그 후 .i 파일이 생성됨.ex) main.c → main.i 2. 컴파일 ( Compilation )전처리된 .i 파일이 컴파일러를 통해 중간 언어인 어셈블리어로 변환됨.ex) main.i → main.s 3. 어셈블 ( Assembly )컴파일러가 생성한 중간 언(어셈블리 코드)를 어셈블러 ( Assembler ) 가 변환하여 바이너리 형태의 오브젝트 파일을 생성한다...