Dylan Graham a présenté un runtime léger LWDR pour la programmation en langage D des microcontrôleurs équipés d'un système d'exploitation temps réel (RTOS). La version actuelle est destinée aux microcontrôleurs ARM Cortex-M. Le développement ne vise pas à couvrir toutes les possibilités du D, mais fournit des outils de base. La gestion de la mémoire est effectuée manuellement (new / delete), le ramasse-miettes n'est pas implémenté, mais plusieurs hooks sont disponibles pour utiliser les outils RTOS.
La version présentée prend en charge :
- l'allocation et la destruction d'instances de classes et de tas pour les structures ;
- les invariants ;
- les assert ;
- les contrats, les outils de base RTTI (grâce aux outils Typeinfo) ;
- les interfaces ;
- les fonctions virtuelles ;
- les classes abstraites et statiques ;
- les tableaux statiques ;
- l'allocation, la libération et le redimensionnement de tableaux dynamiques ;
- l'ajout d'éléments à un tableau dynamique et la concaténation de tableaux dynamiques.
En statut de fonctionnalités expérimentales : les exceptions et les Throwables (car nécessitent le support d'un ramasse-miettes).
Non implémentés :
- les constructeurs et destructeurs de modules ;
- ModuleInfo ;
- les variables locales de thread (TLS) ;
- les délégués et les fermetures ;
- les tableaux associatifs ;
- les données partagées et synchronisées ;
- les objets hachés.
Source : opennet.ru
