Dylan Graham har presenterat en lÀttviktsruntime LWDR för programmering i D-sprÄket pÄ mikrokontroller med realtidsoperativsystem (RTOS). Den aktuella versionen Àr inriktad pÄ ARM Cortex-M mikrokontroller. Utvecklingen syftar inte till att tÀcka alla D:s möjligheter, men tillhandahÄller grundlÀggande verktyg. Minnesallokering sker manuellt (new / delete), skrÀpsamlare Àr inte implementerad, men det finns ett antal hooks för att anvÀnda RTOS-medel.
I den presenterade versionen stöds:
- allokering och destruktion av klassinstanser och heapar för strukturer;
- invarianter;
- asserts;
- kontrakt, grundlÀggande RTTI-meddelanden (via Typeinfo);
- grÀnssnitt;
- virtuella funktioner;
- abstrakta och statiska klasser;
- statiska arrayer;
- allokering, frigöring och Àndring av storlek pÄ dynamiska arrayer;
- lÀggning av element i dynamiska arrayer och sammanslagning av dynamiska arrayer.
I statusen av experimentella funktioner: undantag och Throwables (eftersom de krÀver stöd för skrÀpsamlare).
Inte implementerat:
- konstruktörer och destruktörer av moduler;
- ModuleInfo;
- trÄdspecifika lokala variabler (TLS);
- delegater och stÀngningar;
- associativa arrayer;
- delade och synkroniserade data;
- hashade objekt.
KĂ€lla: opennet.ru
