对于所有熟悉D programming language的人来说,如何在嵌入式实时环境中使用它?我了解它的原始设计并非针对实时嵌入式环境,但是这个问题更多地是关于如何实现实时功能。

语言的哪些构造是必不可少的?

您看到哪种结构会出现问题?

有没有人在嵌入式系统中成功使用过它?

任何其他想法或建议都很好。

最佳答案

D并不是真正用于实时应用程序,主要是因为D的某些语言功能依赖于其垃圾收集器,并且D的垃圾收集器是不可预测的,因此会偶尔暂停程序以收集垃圾。 Quoting


垃圾回收不是万能的。有一些缺点:


运行集合时无法预测,因此程序可以任意暂停。
集合运行所花费的时间没有限制。尽管在实践中它很快,但是不能保证。
在收集过程中,必须暂停除收集器线程之外的所有其他线程。



您仍然可以在没有垃圾收集器的情况下使用D(通过手动管理内存,例如在C / C ++中)-这将阻止您使用某些语言功能(例如关联数组)和内部在不分配/返回对它的引用的情况下内部分配内存的库函数。 D在不依赖于内存管理(例如元编程)的许多领域中仍然表现出色。

关于embedded - 您如何在嵌入式实时环境中使用D?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1113938/

10-11 22:33
查看更多