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