Dylan Graham har introdusert en lettvekts runtime LWDR for programmering i D-språket for mikrokontrollere utstyrt med sanntidssystemer (RTOS). Den nåværende versjonen er rettet mot ARM Cortex-M mikrokontrollere. Utviklingen har ikke som mål å dekke alle D-funksjoner, men gir grunnleggende verktøy. Minnefordeling skjer manuelt (new / delete), og en søppelmaskin er ikke implementert, men det finnes en rekke kroker for bruk av RTOS-verktøy.
Den presenterte versjonen støtter:
- opprettelse og destruksjon av klasseeksemplarer og heap for strukturer;
- invarianter;
- assert-er;
- kontrakter, grunnleggende RTTI-verktøy (gjennom Typeinfo-verktøy);
- grensesnitt;
- virtuelle funksjoner;
- abstrakte og statiske klasser;
- statiske matriser;
- opprettelse, frigjøring og endring av størrelse på dynamiske matriser;
- legge til elementer i en dynamisk matrise og konkatenering av dynamiske matriser.
I status som eksperimentelle funksjoner: unntak og Throwables (siden de krever støtte for søppelinnsamleren).
Ikke implementert:
- konstruktører og destruktører for moduler;
- ModuleInfo;
- lokale trådvariabler (TLS);
- delegater og lukkede funksjoner;
- assosierte matriser;
- delte og synkroniserte data;
- hash-objekter.
Kilde: opennet.ru
