Difference between revisions of "Compilers"
(Update LDC features) |
m (Fix typo) |
||
Line 70: | Line 70: | ||
* amd64 | * amd64 | ||
* ppc | * ppc | ||
− | * | + | * ppc64 |
|--- | |--- | ||
|'''Distribution''' | |'''Distribution''' |
Revision as of 20:42, 10 February 2015
DMD »Digital Mars D compiler |
GDC »GCC D compiler |
LDC »LLVM D compiler |
Also see: Experimental compilers
Which compiler should I use?
If you're a beginner DMD is the recommended choice, as it is the implementation closest to the D Language Specification. Otherwise it depends on what you need, what platforms you intend to develop for, and your personal preferences. GDC and LDC both generate substantially faster binaries than DMD.
Comparison
DMD | GDC | LDC | |
---|---|---|---|
Platforms |
|
|
|
Architectures |
|
|
|
Distribution | Source, multi-platform source/binary archive, Windows installer, packages for OS X (.dmg), Debian (.deb), Fedora (.rpm), OpenSUSE (.rpm) | Source, Windows binary archive, Debian/Ubuntu repository | Source, Linux / OS X binary archive, Debian/Ubuntu repository, Fedora repository, Gentoo repository |
Backend | DMD (DMC fork) | GCC | LLVM |
License | Frontend: GPL 1 or later / Artistic License
Backend: custom |
GPL 3 or later | LDC-specific code: 3-clause BSD |
Inline assembler | Yes, x86 | Yes, GCC-style only (all targets) | Yes, D-style (x86) and GCC-style (all targets) |
SIMD | Partial (?) | Partial (?) | Partial (?) |
Linux specific | |||
Object file format | ELF | ELF | ELF |
Mac specific | |||
Object file format | Mach-O | Mach-O | Mach-O |
Windows specific | |||
Object file format | OMF (32) / COFF (64) | COFF | COFF |