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