CS ๊ณต๋ถ€

์ปดํŒŒ์ผ ์–ธ์–ด vs ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด

์€์ง„ 2021. 10. 7. 20:11

์ปดํŒŒ์ผ ์–ธ์–ด

์†Œ์Šค ์ฝ”๋“œ ์ „์ฒด๋ฅผ ์ปดํŒŒ์ผ ํ•œ ํ›„ (๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•œ ํ›„) ๊ธฐ๊ณ„์–ด๋ฅผ CPU/๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ฝ์–ด ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์–ธ์–ด

 

์ปดํŒŒ์ผ ์–ธ์–ด ํŠน์ง•

  • ๊ทœ๋ชจ๊ฐ€ ํฐ ํ”„๋กœ๊ทธ๋žจ์€ ์ปดํŒŒ์ผ ์‹œ ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.
  • ์ปดํŒŒ์ผ ํ›„์—๋Š” ๋ชจ๋“  ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ ์‹œ๊ฐ„์ด ๋น ๋ฅด๋‹ค.

 

์ปดํŒŒ์ผ ์–ธ์–ด ์ข…๋ฅ˜

C, C++, Java, C#

 

๋นŒ๋“œ

๋นŒ๋“œ(Build) : ์ปดํ“จํ„ฐ์—์„œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š”, ์ฆ‰ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ๋กœ ๋งŒ๋“œ๋Š” ๊ณผ์ •์ด๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ์†Œ์Šค์ฝ”๋“œ๋ฅผ '๋นŒ๋“œ'ํ•˜๋ฉด ์‹คํ–‰ ํŒŒ์ผ์„ ์–ป๋Š”๋‹ค.

์‹คํ–‰ํŒŒ์ผ์€ exe, exec ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ๊ณ , 

์‹คํ–‰ํŒŒ์ผ์€ CPU๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ด์ง„์ฝ”๋“œ์ธ ๊ธฐ๊ณ„์–ด(Machine Code)๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

 

 


 

์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด (์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด)

์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜์ง€ ์•Š๊ณ  ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋กœ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•œ ์ค„์”ฉ ๋ฒˆ์—ญํ•˜๋ฉด์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์–ธ์–ด

์ธํ„ฐํ”„๋ฆฌํ„ฐ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ฐ”๋กœ ์‹คํ–‰ํ•˜๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ํ™˜๊ฒฝ

 

 

 

์ธํ„ฐํ”„๋ฆฌํŠธ ์–ธ์–ด์˜ ์žฅ์ 

  •   ๋นŒ๋“œ ๊ณผ์ • ์—†์ด ๋ฐ”๋กœ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. → ๋ณ„๋„์˜ ์‹คํ–‰ ํŒŒ์ผ์ด ์—†๋‹ค.
  •   ์ปดํŒŒ์ผ๊ณผ์ • ์—†์ด ๋ฐ”๋กœ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ •, ๋””๋ฒ„๊น…์— ์œ ๋ฆฌํ•˜๋‹ค. ์ฆ‰ ๊ฐœ๋ฐœ์†๋„์— ์œ ๋ฆฌํ•˜๋‹ค.
  •   ๊ฐ ํ”Œ๋žซํผ์— ์ง€์›ํ•˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋งŒ ์žˆ๋‹ค๋ฉด ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ด๋‹ค.

 

์ธํ„ฐํ”„๋ฆฌํŠธ ์–ธ์–ด์˜ ๋‹จ์ 

  • ์ปดํŒŒ์ผ์„ ํ•˜์ง€ ์•Š๊ณ  ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์ง์ ‘ ํ•œ ์ค„์”ฉ ์ฝ์–ด์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผ ์–ธ์–ด์— ๋น„ํ•ด ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค. → ๋ฒˆ์—ญ๊ณผ ์‹คํ–‰์ด ๋™์‹œ์— ์ด๋ฃจ์–ด์ง„๋‹ค.
    • ํ•˜๋“œ์›จ์–ด ์ŠคํŽ™์ด ๋†’์•„์ง์— ๋”ฐ๋ผ ์‹คํ–‰ ์ฐจ์ด๋ฅผ ์ฒด๊ฐํ•˜๊ธฐ ์–ด๋ ค์šด ์ถ”์„ธ๋‹ค.
  •   ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ๊ธฐ ์–ด๋ ค์šด ์ปดํŒŒ์ผ ์–ธ์–ด ํ”„๋กœ๊ทธ๋žจ๊ณผ๋Š” ๋‹ฌ๋ฆฌ, ์ฝ”๋“œ๋ฅผ ์—ด๋ฉด ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ ์ƒ ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. (๋‚œ๋…ํ™”)

 

 

์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด ์ข…๋ฅ˜

R, Python, Ruby

 

 

 

์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์™€ ์ปดํŒŒ์ผ ์–ธ์–ด ์‹คํ–‰ ๊ตฌ์กฐ

 

 

 

์ปดํŒŒ์ผ๋Ÿฌ์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋น„๊ต ์ •๋ฆฌ

์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์†Œ์Šค์ฝ”๋“œ ์ „์ฒด๋ฅผ CPU๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ์†Œ์Šค์ฝ”๋“œ ๊ฐ ํ–‰์„ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•œ๋‹ค.

 

๊ทธ๋ž˜์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ปดํŒŒ์ผ ํ•˜๋Š” ๋„์ค‘์— ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ณ ,

์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ๋ถ„์„ ๋„์ค‘ ์–ด๋Š ํ–‰์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๊ทธ๊ฒƒ์„ ์•Œ๋ ค์ฃผ๊ณ  ๊ทธ ์ดํ›„์˜ ๋ถ„์„์„ ๋ฉˆ์ถ˜๋‹ค.

 

 

ํŒŒ์ด์ฌ์€ ์ธํ„ฐํ”„๋ฆฌํŠธ ์–ธ์–ด

C, C++๋Š” ์ปดํŒŒ์ผ ์–ธ์–ด

์ž๋ฐ”๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ชจ๋‘ ์‚ฌ์šฉ

 

 

 

 

 

 

 

 

 

https://st-lab.tistory.com/176

https://velog.io/@emily0_0/%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EC%96%B8%EC%96%B4%EC%99%80-%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%84%B0-%EC%96%B8%EC%96%B4