對於所有熟悉D programming language的人員,如何在嵌入式實時環境中使用它?我明白,它的原創設計並非針對實時嵌入式環境,但這個問題更多的是關於如何實現實時功能。你會如何在嵌入式實時環境中使用D?
該語言的哪些構造是不可或缺的?
你看到哪個構造會成爲問題?
有沒有人在嵌入式系統中成功地使用它?
任何其他的想法或建議將是偉大的。
對於所有熟悉D programming language的人員,如何在嵌入式實時環境中使用它?我明白,它的原創設計並非針對實時嵌入式環境,但這個問題更多的是關於如何實現實時功能。你會如何在嵌入式實時環境中使用D?
該語言的哪些構造是不可或缺的?
你看到哪個構造會成爲問題?
有沒有人在嵌入式系統中成功地使用它?
任何其他的想法或建議將是偉大的。
D並非真正用於實時應用程序,主要是因爲D的某些語言功能依賴於其垃圾回收器,並且D的垃圾回收器不可預知,並且會偶爾暫停程序以收集垃圾。 Quoting:
垃圾收集不是萬能的。有一些缺點:
- 集合運行時不可預測,所以程序可以任意暫停。
- 集合運行所花費的時間不受限制。雖然在實踐中很快,但這不能得到保證。
- 集合正在進行時,除收集線程以外的所有線程都必須暫停。
仍然可以使用d沒有垃圾收集器(通過手動地管理存儲器,如在C/C++) - 這將阻止您使用某種語言的功能,如關聯數組,和庫函數在內部分配內存而不釋放/返回對它的引用。 D仍然在許多不依賴於內存管理(如元編程)的領域表現出色。
實時更關心保證而非「實時」性能。因此有兩種可能性;
我明白它的原意並非針對實時應用程序,但問題更多的是如果您要使其實時工作。我會更多地澄清這個問題。感謝你的回答。我忘記了圖書館對GC的依賴程度。 – 2009-07-11 16:35:46