截至 2012 年 2 月,LDC 似乎并不是一个真正可用的选项(至少在 Debian 上)。
例如,考虑D 书中的第一个程序:
import std.stdio;
void main(string[] args)
{
writeln("Hello, world!");
}
这将无法在我的系统上使用 LDC 进行编译:
hello.d(24): Error: module stdio cannot read file 'std/stdio.d'
dlang.org的第一个程序也是如此:
import std.stdio;
void main() {
ulong lines = 0;
double sumLength = 0;
foreach (line; stdin.byLine()) {
++lines;
sumLength += line.length;
}
writeln("Average line length: ",
lines ? sumLength / lines : 0);
}
这是因为我的 LDC 不支持Phobos——当前的 D 运行时库。看起来可以构建 LDC 的 D2 版本,包括 Phobos,但至少在 Debian 上不是这样。
GDC,当然还有 DMD,都可以很好地编译上面的内容。看起来 GDC 是最新的(DMD 两个月前发布了 2.057,GDC 现在支持它)。
对我来说,GDC 是显而易见的选择,因为一个简单的 ' apt-get -V install gdc
' 可以毫无问题地引入编译器和 Phobos 运行时(在 Debian 不稳定版上测试)。