我很喜欢我所读的关于 D 语言的许多内容。
- 统一的文档(这将使我的工作更加容易。)
- 内置测试能力。
- 语言中带有调试代码支持。
- 向前声明。(我总是认为声明相同的函数两次很愚蠢。)
- 内置替换预处理器的功能。
- 模块化
- 使用 Typedef 进行正确的类型检查而不是别名。
- 嵌套函数。(咳咳 PASCAL 咳咳)
- 输入和输出参数。(多明显啊!)
- 支持低级编程 - 嵌入式系统,哦耶!
然而:
- D 是否支持在没有运行操作系统的嵌入式系统中运行?
- 它明确声明不支持 16 位处理器是否完全排除了在此类设备上运行的嵌入式应用程序?有时你不需要一把锤子来解决你的问题。
- 垃圾收集在 Windows 或 Linux 上很棒,但不幸的是,嵌入式应用程序有时必须进行显式内存管理。
- 数组边界检查,你爱它,你恨它。对于设计保证非常好,但不一定适用于性能问题。
- 在嵌入式系统上,不运行操作系统时,多线程支持有什么影响?我们有一个客户甚至不喜欢中断。更不用说操作系统/多线程了。
- 是否有适用于嵌入式系统的 D-Lite 版本?
所以基本上,D 语言适合于只有几兆字节(有时少于一兆字节),不运行操作系统,需要在编译时了解最大内存使用量(根据要求)且可能比 32 位处理器小得多的嵌入式系统吗?
我对其中一些功能非常感兴趣,但我有这样的印象,它是面向桌面应用程序开发人员的。
什么具体因素使其不适合16位实现?(假设16位架构可以寻址足够的存储器来保存运行时数据,无论是在闪存还是RAM中。)使用库代码仍然可以计算32位值,尽管速度较慢且需要更多的操作。