Dylan Graham hat die leichtgewichtige Laufzeitumgebung LWDR fĂŒr die Programmierung mit der D-Sprache auf Mikrocontrollern mit Echtzeitbetriebssystem (RTOS) vorgestellt. Die aktuelle Version zielt auf ARM Cortex-M Mikrocontroller ab. Das Projekt hat nicht zum Ziel, alle Funktionen von D vollstĂ€ndig abzudecken, sondern bietet grundlegende Mittel. Die Speicherverwaltung erfolgt manuell (new / delete), ein Garbage Collector ist nicht implementiert, aber es gibt eine Reihe von Hooks fĂŒr die Nutzung der RTOS-Mittel.
In der vorgestellten Version werden unterstĂŒtzt:
- die Erstellung und Zerstörung von Class-Instanzen und HĂ€ufen fĂŒr Strukturen;
- Invarianten;
- Assertions;
- VertrÀge, grundlegende RTTI-Mittel (durch Typeinfo-Mittel);
- Schnittstellen;
- virtuelle Funktionen;
- abstrakte und statische Klassen;
- statische Arrays;
- Zuweisung, Freigabe und GröĂenĂ€nderung dynamischer Arrays;
- HinzufĂŒgen von Elementen zu dynamischen Arrays und Verkettung dynamischer Arrays.
Im Status experimenteller Funktionen: Ausnahmen und Throwables (da sie UnterstĂŒtzung des Garbage Collectors erfordern).
Nicht implementiert sind:
- Konstruktoren und Destruktoren fĂŒr Module;
- ModuleInfo;
- lokale Thread-Variablen (TLS);
- Delegaten und Closures;
- assoziative Arrays;
- geteilte und synchronisierte Daten;
- hashierte Objekte.
Quelle: opennet.ru
