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 |
Tags
- Class
- XML
- data structure
- MacOS
- instruction
- function
- javascript
- github
- architecture
- system
- DS
- for
- Java
- web
- Pipelining
- DATAPATH
- Linux
- MIPS
- python
- php
- html
- mysql
- while
- computer
- Algorithm
- DoM
- react
- CSS
- DB
- control
Archives
- Today
- Total
YYYEJI
[Memory] 함수의 프롤로그(Prolog)와 에필로그(Epilog) 본문
728x90
스택 프레임에는 함수의 영역을 표현하는 부분이 있습니다.
함수가 시작할 때는 프롤로그(Prolog), 끝날 때에는 에필로그(Epilog)가 실행됩니다.
함수의 프롤로그와 에필로그에 대해서 자세히 알아보겠습니다.
함수의 프롤로그는
push ebp
mov ebp, esp
의 구조를 가지고 있습니다.
함수 프롤로그는 함수가 호출되면 그 함수의 영역을 설정하기 위한 것입니다.
함수가 시작되면 스택프레임이 형성되고 그 시작을 함수 프롤로그라고 합니다.
![](https://blog.kakaocdn.net/dn/PkXCD/btrHZVWwGof/dts4XCy1638sC5SpL7WQg1/img.png)
함수의 에필로그는
leave
(mov esp, ebp
pop ebp)
ret
(pop eip
jmp eip)
의 구조를 가지고 있습니다.
함수 에필로그는 함수가 종료되어 자신을 호출했던 함수로 돌아갈 때 스택을 정리하기 위한 것입니다.
![](https://blog.kakaocdn.net/dn/bdQ5C2/btrH0cjpEfJ/KKMuFTiCKsoehiB0IhRyPK/img.png)
◡̈
'Database & SQL' 카테고리의 다른 글
[DB] FILE와 DATABASE의 차이점 (0) | 2022.10.26 |
---|---|
[DB] phpmyAdmin이란? (0) | 2022.07.26 |
[DB] MySQL 기본 명령어 정리 / 실습 (0) | 2022.07.25 |
[DB] 맥북에서 MySQL 다운로드 (0) | 2022.07.25 |
[UAF] 메모리 영역 (0) | 2022.07.22 |