回答
有不同的目標編譯器。前端分析源代碼,而後端執行實際的編譯。前端是開源的,它可以用於多個編譯器。
DMD是D的閉源默認實現。它是功能完整的,但可能不是最好的編譯器性能。
GDC使用成熟的GNU compiler collection作爲後端。相同的後端廣泛用於C或C++編譯,並具有高級優化功能。
LDC針對LLVM平臺。這允許一些有趣的東西,如高速編譯,便攜式字節碼和jitting。
由於前端是在所有編譯器之間共享的,所以一個源文件將在每個編譯器上以相同的方式進行解析。將此與C或C++方言進行比較。
DMD只是D編譯器的參考實現,就像Glassfish是企業Java應用服務器的參考實現一樣。 DMD的後端根源於DigitalMars C/C++編譯器。有道理,因爲原創的D創建者是DigitalMars C/C++編譯器的作者,對嗎?沃爾特不能合法地完全開放源代碼,因爲它的一部分已經取得,而這是在賽門鐵克的手中後端...
其次,GNU 沒有使GDC - 它是由少數愛好者製作,並希望將很快被合併到GCC樹中。 GDC是GPL,因此很簡單。
也提到了LDC - 它使用LLVM作爲後端。
真正重要的是D前端是開源的。 DMD的後端不是無關緊要,因爲有很多選擇。無論如何,GCC和LLVM後端都優於DMD後端。
如果你正在編譯器/解釋器設計,我建議你看看SDC,MCI和DIL項目。我想你有關於http://wiki.dlang.org的更多信息。
對於它的價值(幾個月後),還有一個D for .NET編譯器。 [鏈接](http://dnet.codeplex.com/) – nerdenator 2013-05-31 03:34:59
我從未聽過有關D.NET多年的消息......很多人都說它是死的項目。可惜,這是一個有趣的項目,恕我直言。 – DejanLekic 2013-05-31 11:56:45
- 1. D編程語言是否有任何遊戲/圖形引擎?
- 2. 除D之外還有其他語言是否有靜態if?
- 3. 是否有可能使任何語言可執行?
- 4. 是否有任何編程語言具有for-while循環?
- 5. 是否有任何功能語言沒有垃圾回收
- 6. 是否有任何有關smalltalk語言的文檔?
- 7. 是否有任何不是上下文無關語言的正規語言?
- 8. D編程語言是否有GNU Make-type程序?
- 9. C語言是否有運行時?
- 10. Java中是否有專用的語言類?
- 11. 如何爲專有語言構建AST?
- 12. 是否有任何定義非標準控制流程語言的語言?
- 13. 是否有任何使用JavaCC的Eclipse語言IDE -plugins?
- 14. 是否有任何支持語言的文本編輯器/ IDE?
- 15. C語言是否有任何併發包?
- 16. 是否有任何編譯爲Bash的語言?
- 17. 是否有任何8051彙編語言C代碼轉換器
- 18. 是否有任何語言來指定自動代碼修改?
- 19. 是否有任何好的庫來解釋Java語言?
- 20. 是否有任何語言允許突破多個循環?
- 21. 是否有任何編程語言從1開始計數?
- 22. 是否有可用於NSSpeechSynthesizer Cocoa類的任何語言綁定?
- 23. Sublime Text 2中是否有任何rpg語言插件?
- 24. 某處是否有任何C語言(甚至C++)OpenID庫?
- 25. 是否有任何單一的範例語言
- 26. 是否有任何語言是英語檢查格拉默檢查
- 27. 是否有任何vim插件來選擇任何語言的代碼塊?
- 28. UPDATE語句是否有任何限制?
- 29. 是否有任何基於原型的語言具有整個開發週期?
- 30. 所有語言是否支持任何常見的正則表達式語法?
我投票結束這個問題作爲題外話題,因爲它涉及許可或法律問題,而不是編程或軟件開發。 [見這裏](http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964)和[here](http://meta.stackexchange.com/questions/139804/can-許可問題永遠在主題上)以獲取詳細信息,以及[幫助]瞭解更多信息。 – JasonMArcher 2015-06-16 16:40:04