对于所有熟悉D编程语言的人来说,如何在嵌入式实时环境中使用它?我知道它的原始设计不是针对实时嵌入式环境的,但这个问题更多的是关于如何实现实时功能.
哪种语言结构必不可少?
您认为哪些结构会出现问题?
有没有人在嵌入式系统中成功使用它?
任何其他想法或建议都会很棒.
Vla*_*eev 12
D并不是真正意味着在实时应用程序中使用,主要是因为D的某些语言功能依赖于它的垃圾收集器,并且D的垃圾收集器是不可预测的并且偶尔会暂停您的程序来收集垃圾.引用:
垃圾收集不是灵丹妙药.有一些缺点:
- 当集合运行时,它是不可预测的,因此程序可以任意暂停.
- 集合运行所需的时间不受限制.虽然在实践中它很快,但这不能保证.
- 收集正在进行时,必须暂停除收集器线程以外的所有线程.
仍然可以使用d没有垃圾收集器(通过手动地管理存储器,如在C/C++) - 这将阻止您使用某种语言的功能,如关联数组,和库函数,如果不解除分配内部分配存储器/返回到它的基准.D仍然在许多不依赖于内存管理的领域(例如元编程)中表现出色.
实时更多的是关于保证而不是"实时"的表现.因此有两种可能性;