Infomation

  • ๋ฐœํ‘œ๋…„๋„ : 1983
  • ์„ค๊ณ„์ž : Bjarne Stroustrup, ๋ด๋งˆํฌ
  • ํŒจ๋Ÿฌ๋‹ค์ž„ : ์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ์ ˆ์ฐจ์ง€ํ–ฅ, ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์„ฑ๊ฒฉ์„ ๋™์‹œ์— ๋„๊ธฐ ๊นจ๋ฌธ์—, ๊ต‰์žฅํžˆ ์œ ์—ฐํ•˜๊ณ  ๊ฐ•๋ ฅํ•˜๋‹ค. ๋งŒ๋Šฅ์„ค๊ณ„๊ฐ€ ๊ฐ€๋Šฅ
  • ํ•˜์ง€๋งŒ ๋ณต์žกํ•˜๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

Software Build Process & Tools

Editor

  • ๋Œ€๋ถ€๋ถ„์˜ ์—๋””ํ„ฐ๋Š” ์‹ ํƒ์Šค์—๋Ÿฌ๋ฅผ ๋ง‰๊ธฐ์œ„ํ•ด ์ƒ‰์„ ์น ํ•œ ๋‹จ์–ด๋กœ ํ‘œ๊ธฐ๋˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค.
  • ์—๋””ํ„ฐ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์Šค์ฝ”๋“œ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ—ˆ์šฉํ•œ๋‹ค.
  • ์‹ ํƒ์Šค ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค๋ฉด ์ปดํŒŒ์ผ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

Pre-Processor

  • ์ „์ฒ˜๋ฆฌ๊ธฐ๋Š” ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ „์— ์†Œ์Šค์ฝ”๋“œ์˜ ์š”์†Œ๋“ค์„ ์ˆ˜์ •ํ•˜๊ณ  ๋”ํ•œ๋‹ค.
  • ๋ณดํ†ต #include ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

Compiler

  • ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํƒ€๊ฒŸ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
  • ํƒ€๊ฒŸ ์ฝ”๋“œ๋Š” ์žฅ์น˜๋‚˜ ํŠน์ • ํ”Œ๋žซํผ์„ ์œ„ํ•œ ๊ธฐ๊ณ„ ์–ธ์–ด์ผ์ง€ ๋ชจ๋ฅธ๋‹ค.
  • ์ผ์ง€ ๋ชจ๋ฅธ๋‹ค๊ณ  ํ•œ ์ด์œ ๋Š”, ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ปดํŒŒ์ผ ํ•  ๊ฒฝ์šฐ, ๋‹ค๋ฅธ ์–ธ์–ด์˜ ์†Œ์Šค ์–ธ์–ด๊ฐ€ ๋ ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ดˆ๊ธฐ C++ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” C๋กœ ๋ณ€ํ™˜ํ–ˆ๋‹ค.
  • ์ฆ‰ ์ปดํŒŒ์ผ ํ•œ ํƒ€๊ฒŸ ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฅธ ์†Œ์Šค ์–ธ์–ด๋กœ ๋ณ€ํ™˜ ๋œ ๊ฒƒ์ด๋‹ค.
  • ์š”์ฆ˜์˜ C++ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋ฐ”๋กœ ๊ธฐ๊ณ„์–ธ์–ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

Linker

  • ๋ง์ปค๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ธฐ๊ณ„ ์ฝ”๋“œ์™€, ์‚ฌ์ „์— ์ฒ˜๋ฆฌ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฝ”๋“œ ๋˜๋Š” ๋‹ค๋ฅธ ์†Œ์Šค๋กœ ๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด์ง„ ์†Œ์Šค๋“ค์„ ํ•˜๋‚˜์˜ ์‹คํ–‰๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋ฌถ๋Š”๋‹ค.
  • ๋Œ€๋ถ€๋ถ„์˜ ์ปดํŒŒ์ผ ๋œ C++ ์ฝ”๋“œ๋Š” ํ˜ผ์ž์„œ ์ž‘๋™ํ•  ์ˆ˜ ์—†๋‹ค.
  • ์‹คํ–‰๊ฐ€๋Šฅํ•œ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ถ”๊ฐ€์ ์ธ ๊ธฐ๊ณ„ ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  • ์ด ์—†๋Š” ๊ธฐ๊ณ„ ์ฝ”๋“œ๋Š” ์ด๋ฏธ ์ปดํŒŒ์ผ ๋˜์–ด ์žˆ๊ณ , ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ผ๋Š” ์ €์žฅ์†Œ์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.
  • ์ด ๋ง์ปค๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ํ•œ ์ปดํŒŒ์ผ ๋œ ์ฝ”๋“œ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฝ”๋“œ๋ฅผ ๋ฌถ์–ด ์™„์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ ๋‹ค.

Debugger

  • ๋””๋ฒ„๊ฑฐ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„์‹œ ์˜ค๋ฅ˜๋ฅผ ์ฐพ์•„์„œ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„๋ณด๋‹ค ์‰ฝ๊ฒŒ ์ถ”์  ํ•  ์ˆ˜์žˆ๊ฒŒ ํ•œ๋‹ค.
  • ๋””๋ฒ„๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ๋™ํ•˜๋ฉด์„œ ๋™์‹œ์— ํ”„๋กœ๊ทธ๋žจ์˜ ๋™์ž‘์— ์žˆ์–ด ์–ด๋–ค ์†Œ์Šค์ฝ”๋“œ ๋ผ์ธ์ด ์ฑ…์ž„์ด ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

Profiler

  • ์„ฑ๋Šฅ๋ถ„์„์„ ํ•œ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๋ถ„์„ํ•œ๋‹ค.
  • ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ฃผ๊ธฐ, ๋นˆ๋„๋“ฑ๋„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค.