D支持64位有多好?

时间:2010-03-04 04:09:34

标签: 64-bit d

我想试用D编程语言。我有一个简单的宠物项目,我一直想完成,我认为这是学习D 2.0的好机会。

然而,我的主要操作系统是使用Windows 7 64位的kubuntu 64位双启动,我似乎无法让它工作。该项目将使用SDL,我怀疑我的64位操作系统可能是问题。

D 64位的当前状态是什么?有没有人有这方面的工作经验?

BTW我对D 1.0没兴趣,所以它是D 2.0或胸围。

2 个答案:

答案 0 :(得分:21)

目前,答案是响亮的“它取决于”。具体来说,它取决于操作系统和D的版本。

DMD或Digital Mars D编译器是参考实现,并提供64位支持。 64位支持是新的(见下面的评论),但语言创建者沃尔特·布莱特已经表示,将它与32位相提并论是一个高优先级,现在D2已经出门了(或者更正确地说现在是Andrei Alexandrescu的书{{3已被释放)。但是,他表示由于链接器问题,前几个版本将不支持Windows上的64位(这似乎是"The D Programming Language")。

对于D1,如果使用still be true(这是一个针对LLVM的D编译器),则在Linux和Mac上支持64位。对于Windows,针对GCC后端的LDC编译器已经复活,但是在曲线后面有几个版本。在D1上,这并不是非常重要,因为语言规范相当稳定。

对于D2,64位支持目前基本上不存在。前面提到的GDC确实支持它,但是D2一直在快速发展,GDC太过时了,在这里没用。为版本2.015(最新的GDC支持)编写的大多数非平凡代码可能甚至不能在2.040版本(最新版本的DMD)上编译,反之亦然。

编辑:截至今天,2010年6月21日,SVN中有一些提交对DMD的64位支持。这些远不是一个正在运行的编译器,但重点是它正在进行中。

编辑#2:截至2011年2月中旬,DMD 2.052在Linux上支持64位。

编辑#3:截至2011年11月,GDC可用,只有一个版本落后于DMD,虽然它有点像beta-ish而尚未打包。你必须从源代码编译它。

答案 1 :(得分:3)

正如dsimcha所说,D2.0你找不到64位编译器。但是,您可以安装32位dmd编译器以在Linux中编译32位程序。你可能会使用Derelict作为SDL包装器。

Additional Packages Required

更新:由于编译器是32位,您需要安装32位版本的SDL库。我认为您不会在存储库中找到它们,因此您需要自己编译SDL(您可以从32位存储库中解压缩SDL .deb并手动安装它们)。对不起,我错过了那个问题。