์ปดํ์ผ ์ธ์ด vs ์ธํฐํ๋ฆฌํฐ ์ธ์ด
์ปดํ์ผ ์ธ์ด
์์ค ์ฝ๋ ์ ์ฒด๋ฅผ ์ปดํ์ผ ํ ํ (๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ ํ) ๊ธฐ๊ณ์ด๋ฅผ CPU/๋ฉ๋ชจ๋ฆฌ๋ฅผ ํตํด ์ฝ์ด ์คํํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ ์ธ์ด
์ปดํ์ผ ์ธ์ด ํน์ง
- ๊ท๋ชจ๊ฐ ํฐ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ ์ ์ค๋ ๊ฑธ๋ฆด ์ ์๋ค.
- ์ปดํ์ผ ํ์๋ ๋ชจ๋ ์์ค์ฝ๋๊ฐ ๊ธฐ๊ณ์ด๋ก ๋ณํ๋์ด ์๊ธฐ ๋๋ฌธ์ ์คํ ์๊ฐ์ด ๋น ๋ฅด๋ค.
์ปดํ์ผ ์ธ์ด ์ข ๋ฅ
C, C++, Java, C#
๋น๋
๋น๋(Build) : ์ปดํจํฐ์์ ์ดํดํ ์ ์๋, ์ฆ ์คํ ๊ฐ๋ฅํ ํ์ผ๋ก ๋ง๋๋ ๊ณผ์ ์ด๋ค.
์ฐ๋ฆฌ๊ฐ ๋ง๋ ์์ค์ฝ๋๋ฅผ '๋น๋'ํ๋ฉด ์คํ ํ์ผ์ ์ป๋๋ค.
์คํํ์ผ์ exe, exec ๋ฑ๋ฑ ์ฌ๋ฌ ์ข ๋ฅ๊ฐ ์๊ณ ,
์คํํ์ผ์ CPU๊ฐ ์ฝ์ ์ ์๋ ์ด์ง์ฝ๋์ธ ๊ธฐ๊ณ์ด(Machine Code)๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
์ธํฐํ๋ฆฌํฐ ์ธ์ด (์คํฌ๋ฆฝํธ ์ธ์ด)
์์ค ์ฝ๋๋ฅผ ์ปดํ์ผํ์ง ์๊ณ ์ธํฐํ๋ฆฌํฐ๋ก ์์ค์ฝ๋๋ฅผ ํ ์ค์ฉ ๋ฒ์ญํ๋ฉด์ ์คํํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ ์ธ์ด
์ธํฐํ๋ฆฌํฐ : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์์ค ์ฝ๋๋ฅผ ๋ฐ๋ก ์คํํ๋ ์ปดํจํฐ ํ๋ก๊ทธ๋จ ๋๋ ํ๊ฒฝ
์ธํฐํ๋ฆฌํธ ์ธ์ด์ ์ฅ์
- ๋น๋ ๊ณผ์ ์์ด ๋ฐ๋ก ์คํ์ด ๊ฐ๋ฅํ๋ค. → ๋ณ๋์ ์คํ ํ์ผ์ด ์๋ค.
- ์ปดํ์ผ๊ณผ์ ์์ด ๋ฐ๋ก ์คํํ๊ธฐ ๋๋ฌธ์ ์์ , ๋๋ฒ๊น ์ ์ ๋ฆฌํ๋ค. ์ฆ ๊ฐ๋ฐ์๋์ ์ ๋ฆฌํ๋ค.
- ๊ฐ ํ๋ซํผ์ ์ง์ํ๋ ์ธํฐํ๋ฆฌํฐ๋ง ์๋ค๋ฉด ์คํ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํ๋ซํผ์ ๋ ๋ฆฝ์ ์ด๋ค.
์ธํฐํ๋ฆฌํธ ์ธ์ด์ ๋จ์
- ์ปดํ์ผ์ ํ์ง ์๊ณ ์ธํฐํ๋ฆฌํฐ๊ฐ ์ง์ ํ ์ค์ฉ ์ฝ์ด์ ์ค์๊ฐ์ผ๋ก ์คํํ๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ ์ธ์ด์ ๋นํด ์๋๊ฐ ๋๋ฆฌ๋ค. → ๋ฒ์ญ๊ณผ ์คํ์ด ๋์์ ์ด๋ฃจ์ด์ง๋ค.
- ํ๋์จ์ด ์คํ์ด ๋์์ง์ ๋ฐ๋ผ ์คํ ์ฐจ์ด๋ฅผ ์ฒด๊ฐํ๊ธฐ ์ด๋ ค์ด ์ถ์ธ๋ค.
- ๊ฐ๋ฐ์๊ฐ ์ฝ๊ธฐ ์ด๋ ค์ด ์ปดํ์ผ ์ธ์ด ํ๋ก๊ทธ๋จ๊ณผ๋ ๋ฌ๋ฆฌ, ์ฝ๋๋ฅผ ์ด๋ฉด ์์๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณด์ ์ ์์ ์ด ํ์ํ๋ค. (๋๋ ํ)
์ธํฐํ๋ฆฌํฐ ์ธ์ด ์ข ๋ฅ
R, Python, Ruby
์ธํฐํ๋ฆฌํฐ ์ธ์ด์ ์ปดํ์ผ ์ธ์ด ์คํ ๊ตฌ์กฐ
์ปดํ์ผ๋ฌ์ ์ธํฐํ๋ฆฌํฐ ๋น๊ต ์ ๋ฆฌ
์ปดํ์ผ๋ฌ๋ ์์ค์ฝ๋ ์ ์ฒด๋ฅผ CPU๊ฐ ์ฝ์ ์ ์๋ ๊ธฐ๊ณ์ด๋ก ๋ณํํ๋ค.
์ธํฐํ๋ฆฌํฐ๋ ์์ค์ฝ๋ ๊ฐ ํ์ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ค.
๊ทธ๋์ ์ค๋ฅ๊ฐ ๋๋ฉด ์ปดํ์ผ๋ฌ๋ ์ปดํ์ผ ํ๋ ๋์ค์ ์ค๋ฅ๊ฐ ๋๊ณ ,
์ธํฐํ๋ฆฌํฐ๋ ๋ถ์ ๋์ค ์ด๋ ํ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๊ทธ๊ฒ์ ์๋ ค์ฃผ๊ณ ๊ทธ ์ดํ์ ๋ถ์์ ๋ฉ์ถ๋ค.
ํ์ด์ฌ์ ์ธํฐํ๋ฆฌํธ ์ธ์ด
C, C++๋ ์ปดํ์ผ ์ธ์ด
์๋ฐ๋ ์ปดํ์ผ๋ฌ์ ์ธํฐํ๋ฆฌํฐ ๋ชจ๋ ์ฌ์ฉ
https://st-lab.tistory.com/176