对于所有熟悉D programming language的人员,如何在嵌入式实时环境中使用它?我明白,它的原创设计并非针对实时嵌入式环境,但这个问题更多的是关于如何实现实时功能。你会如何在嵌入式实时环境中使用D?
该语言的哪些构造是不可或缺的?
你看到哪个构造会成为问题?
有没有人在嵌入式系统中成功地使用它?
任何其他的想法或建议将是伟大的。
对于所有熟悉D programming language的人员,如何在嵌入式实时环境中使用它?我明白,它的原创设计并非针对实时嵌入式环境,但这个问题更多的是关于如何实现实时功能。你会如何在嵌入式实时环境中使用D?
该语言的哪些构造是不可或缺的?
你看到哪个构造会成为问题?
有没有人在嵌入式系统中成功地使用它?
任何其他的想法或建议将是伟大的。
D并非真正用于实时应用程序,主要是因为D的某些语言功能依赖于其垃圾回收器,并且D的垃圾回收器不可预知,并且会偶尔暂停程序以收集垃圾。 Quoting:
垃圾收集不是万能的。有一些缺点:
- 集合运行时不可预测,所以程序可以任意暂停。
- 集合运行所花费的时间不受限制。虽然在实践中很快,但这不能得到保证。
- 集合正在进行时,除收集线程以外的所有线程都必须暂停。
仍然可以使用d没有垃圾收集器(通过手动地管理存储器,如在C/C++) - 这将阻止您使用某种语言的功能,如关联数组,和库函数在内部分配内存而不释放/返回对它的引用。 D仍然在许多不依赖于内存管理(如元编程)的领域表现出色。
实时更关心保证而非“实时”性能。因此有两种可能性;
我明白它的原意并非针对实时应用程序,但问题更多的是如果您要使其实时工作。我会更多地澄清这个问题。感谢你的回答。我忘记了图书馆对GC的依赖程度。 – 2009-07-11 16:35:46