不同的D编译器有哪些优点/缺点?性能和标准合规性/ D2支持如何?调试器的支持程度如何?错误消息的质量如何?IDE集成如何? 64位支持的性能如何?到目前为止,我的想法是:

DMD

  • 成熟且维护良好的
  • 只有一个平台,对64位的支持不好
  • 不是FOSS

  • GDC
  • 支持各种平台
  • 具有非常成熟的优化功能,因此速度很快吗?
  • 运行时过时了吗?
  • GCC这么好的调试器支持吗?

  • LDC
  • 支持各种平台
  • LLVM,因此它支持JITing吗?
  • 具有非常成熟的优化功能,因此速度很快吗?
  • 维护得不太好吗?
  • 运行时过时了吗?

  • 已死/不工作
  • sdc
  • MiniD-非常非常好,但不是D(虽然从未声称是)

  • 我正在考虑以ARM为目标,我认为GDC是首选工具,但我不确定。

    最佳答案

    DMD是引用实现。只有后端是专有的,前端是开源的。
    代码生成质量并不那么令人难以置信。 x64支持不过才几个月。

    GDC和LDC都基于DMD前端,因此可能需要一些时间才能合并到新版本的前端。
    由于它们使用的后端非常成熟且性能良好,因此这些编译器的质量主要取决于连接前端和后端的粘合代码。

    LDC和GDC仍在积极开发中,但主要是由几个人开发的。
    他们总共可以使用一些人力。

    09-08 07:23