Difference between revisions of "Compilers"

From D Wiki
Jump to: navigation, search
(Comparison)
(Comparison)
Line 40: Line 40:
 
|---
 
|---
 
|'''Platforms'''
 
|'''Platforms'''
| Linux / Mac / FreeBSD / Win
+
|
| Linux / Mac / FreeBSD / Win
+
*Linux
| Linux / Mac / FreeBSD / Win
+
*Mac
 +
*FreeBSD
 +
*Win
 +
|
 +
*Linux
 +
*Mac
 +
*FreeBSD
 +
*Win
 +
|
 +
*Linux
 +
*Mac
 +
*FreeBSD
 +
*Win
 
|---
 
|---
 
|'''Installation'''
 
|'''Installation'''
Line 50: Line 62:
 
|---
 
|---
 
|'''Architectures'''
 
|'''Architectures'''
| i386, amd64
+
|
| i386, amd64
+
* i386
| i386, amd64
+
* amd64
 +
|
 +
* i386
 +
* amd64
 +
 
 +
|
 +
* i386
 +
* amd64
 
|---
 
|---
 
|'''Backend'''
 
|'''Backend'''

Revision as of 22:07, 23 November 2012


There are currently 3 major D compilers:

DMD »

Digital Mars D compiler
The formal D compiler.

GDC »

GCC D compiler
Fast and open source.

LDC »

LLVM D compiler
Fast and open source.

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
  • Linux
  • Mac
  • FreeBSD
  • Win
  • Linux
  • Mac
  • FreeBSD
  • Win
  • Linux
  • Mac
  • FreeBSD
  • Win
Installation Automatic ? ?
Architectures
  • i386
  • amd64
  • i386
  • amd64
  • i386
  • amd64
Backend DMD GCC LLVM
License ? ? ?
Inline assembler Yes, x86 ? ?
SIMD Partial (?) Partial (?) ?

Linux specific
Object file format ? ? ?

Mac specific
Object file format ? ? ?

Windows specific
Object file format ? ? ?