Memory Heap/Stack
Memory Heap/Stack
๐ซ Heap
์ฃผ๋ก ๋ฉ๋ชจ๋ฆฌ ๋์ ํ ๋น
i.e. malloc, calloc, realloc
- Heap => Use CLRโs Garbage Collector
- ํ์ ๋ ์ด์ ์ฌ์ฉํ์ง ์๋ ๊ฐ์ฒด๊ฐ ์์ผ๋ฉด, ๊ทธ ๊ฐ์ฒด๋ฅผ ์ฐ๋ ๊ธฐ๋ก ๊ฐ์ฃผํ๊ณ ์๊ฑฐ
- ์ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๋ฆฌํด์ ํด์ฃผ๋ ์คํ ๋์ ํ์ ์ฐ๋๊ฐ?
- Because ์ฝ๋๋ธ๋ญ์ด ๋๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๊ณ ์ถ์ ๋
- So ํ๋ก๊ทธ๋จธ๊ฐ ์ํ๋ค๋ฉด ์ธ์ ๊น์ง๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ฆด ์ ์๋ ๋ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์์ญ Heap์ CLR์ด ์ ๊ณต
๐ซ ๊ด๊ณ
Heap๊ณผ Stack์ ๊ฐ์ ์์ญ์ ๊ณต๊ฐ์ ์ฌ์ฉํจ.
Heap: ๋ฉ๋ชจ๋ฆฌ ์์ชฝ ์ฃผ์๋ถํฐ ํ ๋น.
Stack: ๋ฉ๋ชจ๋ฆฌ ์๋์ชฝ ์ฃผ์๋ถํฐ ํ ๋น.
Heap Overflow, Stack Overflow.
๐ซ Stack
@@ Assembly
Assembly๊ฐ ๋น๋ฒํ๊ฒ, ์ ์ฅ๋๋ ๊ฐ ์ ์ฅ, Subroutine, Procedure ๋ฑ
Stack ์๋ฃ ๊ตฌ์กฐ
BasePointer ์์ ์์น๋ฅผ BP ๋ ์ง์คํฐ, StackPointer ์ ์ผ ์ ์์น๋ฅผ SP ๋ ์ง์คํฐ
Glow Down, ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์์ญ๊ณผ ๋ฌ๋ฆฌ ๊ฑฐ๊พธ๋ก ์๋๋ค
- Stack => ์์๋ค๊ฐ, ์ฝ๋ ๋ธ๋ญ์ด ๋๋๋ฉด ์ฐจ๋ก๋๋ก ํ๋ฆผ (๋ฉ๋ชจ๋ฆฌ์์ ์ ๊ฑฐ)
์ด ๊ธฐ์ฌ๋ ์ ์๊ถ์์ CC BY 4.0 ๋ผ์ด์ผ์ค๋ฅผ ๋ฐ๋ฆ
๋๋ค.