使用哪个D编译器?

问题描述 投票:0回答:2

我想尝试一下 D,但我不太确定要使用什么编译器。我找到了一些关于该主题的文章,以及一些问题,但我没有找到任何最新的。

各个编译器的优点是什么,缺点是什么?现在 DMD 编译器对我来说似乎是最好的,但我可能只是被过时的信息误导了。

d dmd gdc
2个回答
23
投票

所有 3 个主要的 D 编译器(dmd、gdc、ldc)都使用相同的前端,但 dmd 通常领先于其他编译器,因为它是参考编译器。另外,我相信在某些情况下,其他两个还没有实现某些功能(主要在 Windows 或 OS X IIRC 上),尽管总的来说,它们工作得很好。 gdc 或 ldc 的主要优点是它们生成更快的代码(尽管快多少取决于代码)。然而,它们也需要更长的时间来编译代码。

所以,如果你刚刚开始,我建议你只使用 dmd 而不必担心。它保证是最新的编译器,我相信它是大多数人使用的。它的主要缺点是它生成的代码不太快,但如果/当您真正关心这一点时,您可以稍后查看其他编译器。

对于生产代码,我通常采用的方法是使用 dmd 进行开发,然后使用 gdc 或 ldc 生成生产代码。这样,您在开发代码时可以获得更快的编译时间,但在生产中仍然可以获得更快的二进制文件。


10
投票

添加乔纳森的答案:

您的选择还受到您使用的操作系统的限制。在 Linux 上,所有 3 个(DMD、GDC 和 LDC)均可用。在 Windows 上,DMD 是您唯一实用的选择,特别是如果您习惯了 Visual Studio(获取 Visual D 附加组件)。在 Windows 上使用 GDC 或 LDC 会带来不同程度的痛苦(请参阅此讨论)。

如果您想使用 SIMD,请使用 DMD。其他编译器的实现不完整或缺失(基于 DConf 2013 演讲)。

© www.soinside.com 2019 - 2024. All rights reserved.