Un runtime pour la programmation des microcontrôleurs est introduit pour le langage D

Dylan Graham a présenté un LWDR d'exécution léger pour la programmation D de microcontrôleurs équipés d'un système d'exploitation en temps réel (RTOS). La version actuelle est destinée aux microcontrôleurs ARM Cortex-M. Le développement ne vise pas à couvrir entièrement toutes les capacités de D, mais fournit des outils de base. L'allocation de mémoire se fait manuellement (nouveau/suppression), il n'y a pas de garbage collector, mais il existe un certain nombre de hooks pour utiliser les outils RTOS.

La version présentée prend en charge :

  • allocation et destruction d'instances de classe et de tas pour les structures ;
  • invariants;
  • affirme;
  • contrats, outils RTTI de base (à la charge de Typeinfo) ;
  • interfaces ;
  • fonctions virtuelles ;
  • classes abstraites et statiques ;
  • tableaux statiques ;
  • allouer, libérer et redimensionner des tableaux dynamiques ;
  • ajouter des éléments à un tableau dynamique et concaténer des tableaux dynamiques.

Au statut de fonctionnalités expérimentales : exceptions et Throwables (car ils nécessitent le support du scavenger).

Pas mis en œuvre:

  • constructeurs et destructeurs de modules ;
  • ModuleInfo ;
  • variables locales de thread (TLS) ;
  • délégués et clôtures ;
  • tableaux associatifs ;
  • données partagées et synchronisées ;
  • objets hachés.

Source: opennet.ru

Ajouter un commentaire