๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ(43)
-
11. [C / C++] ๋ฌธ์์ด ์์์ ํฌ์ธํฐ
1. ๋ฌธ์์ด ์์(๋ฆฌํฐ๋ด) ๋ฌธ์์ด ์์๋ "HelloWorld"์ ๊ฐ์ด ํ๋ก๊ทธ๋จ ์์ค ์์ ํฌํจ๋ ๋ฌธ์์ด์ ์๋ฏธํฉ๋๋ค. (๋ฆฌํฐ๋ด : ์์ค์ฝ๋์ ๊ณ ์ ๋ ๊ฐ์ ๋ํํ๋ ์ฉ์ด ์ ์, ๋ถ๋ ์์์ ์ซ์, ๋ฌธ์์ด ๋ฑ๋ฑ) ๋ฌธ์์ด ์์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ค์์ DATA ์์ญ์ ๋ฑ๋ก๋๋ค. (๋ฌธ์์ด ์์๋ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ค์์ ํ ์คํธ ์ธ๊ทธ๋จผํธ(text segment)๋ผ๊ณ ๋ถ๋ฆฌ๋ ํน์ํ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ์ฅ๋๋ค. ํ ์คํธ ์ธ๊ทธ๋จผํธ๋ ์ฝ๊ธฐ๋ ๊ฐ๋ฅํ์ง๋ง, ์ฐ๋ฆฌ๊ฐ ๋ณ๊ฒฝํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด๋ค. read only data ์์ญ) ๋จผ์ ํฌ์ธํฐ ๋ณ์๊ฐ ์์ฑ๋๋ค. ๋ชจ๋ ๋ณ์๋ ๋ฐ์ดํฐ ์ธ๊ทธ๋จผํธ(data segment)๋ผ๊ณ ๋ถ๋ฆฌ๋ ์์ญ์ ์ ์ฅ๋๋ค. (STACK, HEAP์์ญ) ๋ฐ๋ผ์ ํฌ์ธํฐ ๋ณ์ pName1๋ ๋ฐ์ดํฐ ์ธ๊ทธ๋จผ..
2019.05.24 -
10. [C / C++] ์คํธ๋ฆผ๊ณผ ๋ฌธ์์ด
1. ๋ฐ์ดํฐ์ ์ด๋ ๋ฐ์ดํฐ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๋ปํ๋ค. [ ์ ๋ ฅ ] : ํ๋ก๊ทธ๋จ ์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ํ๋ฌ ๋ค์ด์ค๋ ๊ฒ. ๋ํ์ ์ธ ์ ๋ ฅ์ฅ์น๋ ํค๋ณด๋. [ ์ถ๋ ฅ ] : ํ๋ก๊ทธ๋จ ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ํ๋ฌ ๋๊ฐ๋ ๊ฒ. ๋ํ์ ์ธ ์ถ๋ ฅ ์ฅ์น๋ ๋ชจ๋ํฐ. 2. ์คํธ๋ฆผ ํ๋ก๊ทธ๋จ์์์ ๋ชจ๋ํฐ์ ํค๋ณด๋๋ฅผ ๋์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ถ๋ ฅํ๊ธฐ ์ํด์ ์ด๋ค์ ์ฐ๊ฒฐ์์ผ ์ฃผ๋ ๋ค๋ฆฌ ์ญํ ์ ํ๋ ๋งค๊ฐ์ฒด. ๋จ๋ฐฉํฅ์ผ๋ก๋ง ๋ฐ์ดํฐ์ ์ ์ก์ด ์ด๋ฃจ์ด์ง๋ค. ์คํธ๋ฆผ์ ์ด์์ฒด์ ์์ ์ ๊ณตํ๋ ์ํํธ์จ์ด๋ก ๊ตฌํ๋์ด ์๋ ๊ฐ์์ ๋ค๋ฆฌ์ด๋ค. ๋ค์ ๋งํด์, ์ด์์ฒด์ ๋ ์ธ๋ถ์ฅ์น์ ํ๋ก๊ทธ๋จ๊ณผ์ ๋ฐ์ดํฐ ์ก์์ ์ ๋๊ตฌ๊ฐ ๋๋ ์คํธ๋ฆผ์ ์ ๊ณตํ๊ณ ์๋ค. ์ฝ์ ์ ์ถ๋ ฅ์ ์ํ '์ ๋ ฅ ์คํธ๋ฆผ'๊ณผ '์ถ๋ ฅ ์คํธ๋ฆผ'์ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉด ์๋์ผ๋ก ์์ฑ๋๊ณ , ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋ฉด ์..
2019.05.22 -
9. [C / C++] ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋์ ํ ๋น (2)
1. ๋์ ํ ๋น ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋ ๋ฐฉ๋ฒ์๋ ์ ์ ๊ณผ ๋์ 2๊ฐ์ง๊ฐ ์์ต๋๋ค. ์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด๋ ํ๋ก๊ทธ๋จ์ด ์์๋๊ธฐ ์ ์ ๋ฏธ๋ฆฌ ์ ํด์ง ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋ ๊ฒ์ ๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๋ ํ๋ก๊ทธ๋จ์ด ์์ํ๊ธฐ ์ ์ ๊ฒฐ์ ๋๋ฉฐ ํ๋ก๊ทธ๋จ์ ์คํ ๋์ค์ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ex) ์ง์ญ๋ณ์, ์ ์ ๋ฐฐ์ด ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด๋ ํ๋ก๊ทธ๋จ์ด ์คํ ๋์ค์ ๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋ ๊ฒ์ ๋งํฉ๋๋ค. ํ์ํ ๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ์์ ์ฌ์ฉํ๊ณ , ์ฌ์ฉ์ด ๋๋๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐ๋ฉํฉ๋๋ค. ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ฅ์ ์ ๋ณ์๊ฐ ์์ฑ๋๊ณ ์๋ฉธ๋๋ ์์ ์ ํ๋ก๊ทธ๋๋จธ ๋ง์๋๋ก ์กฐ์ ํ ์ ์๋ค๋ ์ ์ ๋๋ค. ์ฃผ์ํด์ผํ ์ ์ ๋จผ์ ์ผ๋ง๋ ํ ๋น์ ๋ฐ์ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๊ณ , ๋ฐ๋์ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ช ์์ ์ผ๋ก ๋ฐ๋ฉ์ ํด์ฃผ์ด์ผ ํ๋ค๋ ๊ฒ..
2019.05.21 -
8. [C / C++] ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋์ ํ ๋น (1)
1. ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ์ปดํจํฐ์ ์ด์์ฒด์ ๋ ํ๋ก๊ทธ๋จ ์คํ์ ์ํด์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ๊ณตํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ตฌ์กฐ๋ CDOE, DATA, HEAP, STACK 4๊ฐ์ง ์์ญ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. 2. CODE ์์ญ ์ฝ๋ ์์ญ์ ๋ง ๊ทธ๋๋ก ์คํํ๋ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์ ์ฅ๋๋ ์์ญ์ ๋๋ค. ์์ด๋ก ํ ์คํธ ์์ญ์ด๋ผ๊ณ ๋ ๋ถ๋ฆ ๋๋ค. CPU(์ค์ ์ฒ๋ฆฌ ์ฅ์น)๋ ์ด ์ฝ๋ ์์ญ์ ์ ์ฅ๋ ๋ช ๋ น์ด๋ค์ ์ฒ๋ฆฌํ๊ฒ ๋ฉ๋๋ค. (ํจ์ ์ฝ๋๋ ์ฝ๋์์ญ์ ๋ฐ์ด๋๋ฆฌ ํํ๋ก ์ ์ฅ๋ฉ๋๋ค.) 3. DATA ์์ญ ๋ฐ์ดํฐ ์์ญ์ ํ๋ก๊ทธ๋จ์ ์ ์ญ ๋ณ์์ ์ ์ ๋ณ์(static ๋ณ์)๊ฐ ์ ์ฅ๋๋ ์์ญ์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น ์์ ์ ํ๋ก๊ทธ๋จ ์์์ ํ ๋น๋๋ฉฐ, ํ๋ก๊ทธ๋จ ์ข ๋ฃ์ ์๋ฉธ๋ฉ๋๋ค. 4. HEAP ์์ญ ํ ์์ญ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ..
2019.05.21