๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ ๋Ÿฐํƒ€์ž„์ด D ์–ธ์–ด์— ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Dylan Graham์€ ์‹ค์‹œ๊ฐ„ ์šด์˜ ์ฒด์ œ(RTOS)๊ฐ€ ์žฅ์ฐฉ๋œ ๋งˆ์ดํฌ๋กœ ์ปจํŠธ๋กค๋Ÿฌ์˜ D ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ ๊ฒฝ๋Ÿ‰ ๋Ÿฐํƒ€์ž„ LWDR์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฒ„์ „์€ ARM Cortex-M ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์€ ๋ชจ๋“  D ๊ธฐ๋Šฅ์„ ์™„์ „ํžˆ ํฌ๊ด„ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜์ง€ ์•Š์ง€๋งŒ ๊ธฐ๋ณธ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์€ ์ˆ˜๋™์œผ๋กœ(์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ/์‚ญ์ œ) ์ด๋ฃจ์–ด์ง€๋ฉฐ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๋Š” ์—†์ง€๋งŒ RTOS ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ›„ํฌ๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ์‹œ๋œ ๋ฒ„์ „์€ ๋‹ค์Œ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ตฌ์กฐ์— ๋Œ€ํ•œ ํด๋ž˜์Šค ๋ฐ ํž™ ์ธ์Šคํ„ด์Šค ํ• ๋‹น ๋ฐ ์‚ญ์ œ
  • ๋ถˆ๋ณ€์„ฑ;
  • ์ฃผ์žฅํ•˜๋‹ค;
  • ๊ณ„์•ฝ, ๊ธฐ๋ณธ RTTI ๋„๊ตฌ(Typeinfo๋ฅผ ํฌ์ƒํ•˜์—ฌ)
  • ์ธํ„ฐํŽ˜์ด์Šค;
  • ๊ฐ€์ƒ ๊ธฐ๋Šฅ;
  • ์ถ”์ƒ ๋ฐ ์ •์  ํด๋ž˜์Šค;
  • ์ •์  ๋ฐฐ์—ด;
  • ๋™์  ๋ฐฐ์—ด ํ• ๋‹น, ํ•ด์ œ ๋ฐ ํฌ๊ธฐ ์กฐ์ •
  • ๋™์  ๋ฐฐ์—ด์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋™์  ๋ฐฐ์—ด์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์‹คํ—˜์  ๊ธฐ๋Šฅ ์ƒํƒœ: ์˜ˆ์™ธ ๋ฐ Throwable(์ฒญ์†Œ๊ธฐ ์ง€์›์ด ํ•„์š”ํ•จ)

๊ตฌํ˜„๋˜์ง€ ์•Š์Œ:

  • ๋ชจ๋“ˆ ์ƒ์„ฑ์ž์™€ ์†Œ๋ฉธ์ž;
  • ๋ชจ๋“ˆ์ •๋ณด;
  • ์Šค๋ ˆ๋“œ ์ง€์—ญ ๋ณ€์ˆ˜(TLS);
  • ๋Œ€ํ‘œ์ž ๋ฐ ํ์‡„;
  • ์—ฐ๊ด€ ๋ฐฐ์—ด;
  • ๊ณต์œ  ๋ฐ ๋™๊ธฐํ™”๋œ ๋ฐ์ดํ„ฐ
  • ํ•ด์‹œ๋œ ๊ฐœ์ฒด.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€