D를 사용해보고 싶지만 컴파일러가 어떤 컴파일러를 사용해야하는지 잘 모르겠습니다. 주제에 대한 몇 가지 기사 및 SO 질문을 찾았지만 최신 내용을 찾지 못했습니다.어떤 D 컴파일러를 사용할 것인가?
각 컴파일러의 장점은 무엇이며 단점은 무엇입니까? 현재 DMD 컴파일러는 나에게 가장 좋은 것처럼 보였으 나 오래된 정보로 인해 오도 될 수 있습니다. 메인 D 컴파일러 (DMD, GDC, LDC)의 모든 3
D를 사용해보고 싶지만 컴파일러가 어떤 컴파일러를 사용해야하는지 잘 모르겠습니다. 주제에 대한 몇 가지 기사 및 SO 질문을 찾았지만 최신 내용을 찾지 못했습니다.어떤 D 컴파일러를 사용할 것인가?
각 컴파일러의 장점은 무엇이며 단점은 무엇입니까? 현재 DMD 컴파일러는 나에게 가장 좋은 것처럼 보였으 나 오래된 정보로 인해 오도 될 수 있습니다. 메인 D 컴파일러 (DMD, GDC, LDC)의 모든 3
는 동일한 프론트 - 엔드를 사용하지만, 기준 컴파일러로서 DMD 약간 앞서서 다른 일반적이다. 또한, 다른 2가 아직 (주로 Windows 또는 OS X IIRC에서) 몇 가지 기능을 구현하지 않는 경우가 있지만, 일반적으로 잘 작동한다고 생각합니다. gdc 또는 ldc의 가장 큰 장점은 더 빠른 코드를 생성한다는 것입니다 (코드에 따라 속도가 얼마나 더 빠름에도 불구하고). 그러나 코드를 컴파일하는 데 너무 오래 걸립니다.
방금 시작한 사람이라면 dmd를 사용하고 걱정하지 말 것을 제안합니다. 가장 최신의 컴파일러가 될 것이 확실하며, 대부분의 사람들이 사용하는 것이라고 생각합니다. 주된 단점은 생성하는 코드가 그다지 빠르지 않다는 것입니다.하지만 나중에 정말로 신경 쓰는 경우 다른 컴파일러를 살펴볼 수 있습니다.
프로덕션 코드의 경우 일반적으로 취할 방법은 dmd를 사용하여 개발 한 다음 gdc 또는 ldc를 사용하여 프로덕션 코드를 생성하는 것입니다. 그렇게하면 코드를 개발할 때 빠른 컴파일 시간을 얻을 수 있지만 여전히 생산 단계에서 더 빠른 바이너리를 얻을 수 있습니다.
당신의 선택은 또한 OS에 의해 제한된다사용중인 : 조나단의 대답에 추가
. Linux에서는 모두 3 (DMD, GDC 및 LDC)을 사용할 수 있습니다. Windows에서 DMD는 실용적인 유일한 선택입니다. 특히 Visual Studio (Visual D 추가 기능 사용)에 익숙한 사용자에게 적합합니다. Windows에서 GDC 또는 LDC를 사용하려면 다양한 정도의 고통이 필요합니다 (this discussion 참조).
SIMD로 재생하려면 DMD를 사용하십시오. 다른 컴파일러에는 구현이 불완전하거나 누락되어 있습니다 (DConf 2013 대화를 기반으로 함).
참고 항목 [GDC와 DMD 사이에서 선택] (0120-336-005) –
[DMD vs. GDC vs. LDC] (http : //stackoverflow.com/questions/6767065/dmd-vs-gdc-vs-ldc) –