2013-08-16 9 views
13

D를 사용해보고 싶지만 컴파일러가 어떤 컴파일러를 사용해야하는지 잘 모르겠습니다. 주제에 대한 몇 가지 기사 및 SO 질문을 찾았지만 최신 내용을 찾지 못했습니다.어떤 D 컴파일러를 사용할 것인가?

각 컴파일러의 장점은 무엇이며 단점은 무엇입니까? 현재 DMD 컴파일러는 나에게 가장 좋은 것처럼 보였으 나 오래된 정보로 인해 오도 될 수 있습니다. 메인 D 컴파일러 (DMD, GDC, LDC)의 모든 3

+1

참고 항목 [GDC와 DMD 사이에서 선택] (0120-336-005) –

+0

[DMD vs. GDC vs. LDC] (http : //stackoverflow.com/questions/6767065/dmd-vs-gdc-vs-ldc) –

답변

19

는 동일한 프론트 - 엔드를 사용하지만, 기준 컴파일러로서 DMD 약간 앞서서 다른 일반적이다. 또한, 다른 2가 아직 (주로 Windows 또는 OS X IIRC에서) 몇 가지 기능을 구현하지 않는 경우가 있지만, 일반적으로 잘 작동한다고 생각합니다. gdc 또는 ldc의 가장 큰 장점은 더 빠른 코드를 생성한다는 것입니다 (코드에 따라 속도가 얼마나 더 빠름에도 불구하고). 그러나 코드를 컴파일하는 데 너무 오래 걸립니다.

방금 ​​시작한 사람이라면 dmd를 사용하고 걱정하지 말 것을 제안합니다. 가장 최신의 컴파일러가 될 것이 확실하며, 대부분의 사람들이 사용하는 것이라고 생각합니다. 주된 단점은 생성하는 코드가 그다지 빠르지 않다는 것입니다.하지만 나중에 정말로 신경 쓰는 경우 다른 컴파일러를 살펴볼 수 있습니다.

프로덕션 코드의 경우 일반적으로 취할 방법은 dmd를 사용하여 개발 한 다음 gdc 또는 ldc를 사용하여 프로덕션 코드를 생성하는 것입니다. 그렇게하면 코드를 개발할 때 빠른 컴파일 시간을 얻을 수 있지만 여전히 생산 단계에서 더 빠른 바이너리를 얻을 수 있습니다.

당신의 선택은 또한 OS에 의해 제한된다

사용중인 : 조나단의 대답에 추가

8

. Linux에서는 모두 3 (DMD, GDC 및 LDC)을 사용할 수 있습니다. Windows에서 DMD는 실용적인 유일한 선택입니다. 특히 Visual Studio (Visual D 추가 기능 사용)에 익숙한 사용자에게 적합합니다. Windows에서 GDC 또는 LDC를 사용하려면 다양한 정도의 고통이 필요합니다 (this discussion 참조).

SIMD로 재생하려면 DMD를 사용하십시오. 다른 컴파일러에는 구현이 불완전하거나 누락되어 있습니다 (DConf 2013 대화를 기반으로 함).