D рднрд╛рд╖рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдорд╛рдЗрдХреНрд░реЛрдХрдиреНрдЯреНрд░реЛрд▓рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд░рдирдЯрд╛рдЗрдо рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫ

Dylan Graham рд▓реЗ рд░рд┐рдпрд▓-рдЯрд╛рдЗрдо рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо (RTOS) рд▓реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рдорд╛рдЗрдХреНрд░реЛрдХрдиреНрдЯреНрд░реЛрд▓рд░рд╣рд░реВрдХреЛ D рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рд╣рд▓реНрдХрд╛ рд░рдирдЯрд╛рдЗрдо LWDR рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрдиреБрднрдпреЛред рд╣рд╛рд▓рдХреЛ рд╕рдВрд╕реНрдХрд░рдг ARM Cortex-M рдорд╛рдЗрдХреНрд░реЛрдХрдиреНрдЯреНрд░реЛрд▓рд░рд╣рд░реВрдорд╛ рд▓рдХреНрд╖рд┐рдд рдЫред рд╡рд┐рдХрд╛рд╕рд▓реЗ рд╕рдмреИ D рдХреНрд╖рдорддрд╛рд╣рд░реВрд▓рд╛рдИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕рдореЗрдЯреНрдиреЗ рд▓рдХреНрд╖реНрдп рд░рд╛рдЦреНрджреИрди, рддрд░ рдЖрдзрд╛рд░рднреВрдд рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдЧрд░рд┐рдиреНрдЫ (рдирдпрд╛рдБ / рдореЗрдЯрд╛рдЙрдиреБрд╣реЛрд╕реН), рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдлреЛрд╣реЛрд░ рд╕рдЩреНрдХрд▓рди рдЫреИрди, рддрд░ рддреНрдпрд╣рд╛рдБ RTOS рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╣реБрдХрд╣рд░реВ рдЫрдиреНред

рдкреНрд░рд╕реНрддреБрдд рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ:

  • рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд░реНрдЧ рд░ рд╣рд┐рдк рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдХреЛ рдЖрд╡рдВрдЯрди рд░ рд╡рд┐рдирд╛рд╢;
  • invariants;
  • рджрд╛рд╡реА;
  • рдЕрдиреБрдмрдВрдз, рдЖрдзрд╛рд░рднреВрдд RTTI рдЙрдкрдХрд░рдгрд╣рд░реВ (Typeinfo рдХреЛ рдЦрд░реНрдЪрдорд╛);
  • рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ;
  • рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ;
  • рдЕрдореВрд░реНрдд рд░ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧрд╣рд░реВ;
  • рд╕реНрдерд┐рд░ arrays;
  • рдЧрддрд┐рд╢реАрд▓ arrays рдЖрд╡рдВрдЯрди, рдореБрдХреНрдд рд░ рд░рд┐рд╕рд╛рдЗрдЬ рдЧрд░реНрджреИ;
  • рдбрд╛рдпрдирд╛рдорд┐рдХ рдПрд░реЗрдорд╛ рддрддреНрд╡рд╣рд░реВ рдердкреНрджреИ рд░ рдЧрддрд┐рд╢реАрд▓ рдПрд░реЗрд╣рд░реВ рдЬреЛрдбреНрджреИред

рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рд╕реНрдерд┐рддрд┐рдорд╛: рдЕрдкрд╡рд╛рдж рд░ рдереНрд░реЛрдПрдмрд▓рд╣рд░реВ (рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╕реНрдХреНрдпрд╛рднреЗрдиреНрдЬрд░ рд╕рдорд░реНрдерди рдЪрд╛рд╣рд┐рдиреНрдЫ)ред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирднрдПрдХреЛ:

  • рдореЛрдбреНрдпреБрд▓ рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд░ рдбрд┐рд╕реНрдЯреНрд░рдХреНрдЯрд░рд╣рд░реВ;
  • рдореЛрдбреНрдпреБрд▓ рдЬрд╛рдирдХрд╛рд░реА;
  • рдереНрд░реЗрдб рд╕реНрдерд╛рдиреАрдп рдЪрд░ (TLS);
  • рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд░ рдмрдиреНрдж;
  • рд╕рд╣рдпреЛрдЧреА arrays;
  • рд╕рд╛рдЭрд╛ рд░ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬ рдбрд╛рдЯрд╛;
  • рд╣реНрдпрд╛рд╕ рдЧрд░рд┐рдПрдХрд╛ рд╡рд╕реНрддреБрд╣рд░реВред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди