Dylan Graham 提出了一种轻量级运行时 LWDR,用于对配备实时操作系统 (RTOS) 的微控制器进行 D 编程。 当前版本针对 ARM Cortex-M 微控制器。 开发并不旨在完全覆盖所有D功能,而是提供基础工具。 内存分配是手动完成的(新建/删除),没有垃圾收集器,但有许多使用 RTOS 工具的钩子。
所提供的版本支持:
- 结构的类和堆实例的分配和销毁;
- 不变量;
- 断言;
- 合同、基本 RTTI 工具(以 Typeinfo 为代价);
- 接口;
- 虚函数;
- 抽象类和静态类;
- 静态数组;
- 分配、释放动态数组和调整动态数组的大小;
- 将元素添加到动态数组并连接动态数组。
处于实验性功能状态:异常和 Throwables(因为它们需要清除程序支持)。
未实现:
- 模块构造函数和析构函数;
- 模块信息;
- 线程局部变量(TLS);
- 代表和闭会;
- 关联数组;
- 共享和同步数据;
- 散列对象。
来源: opennet.ru