2013-08-16 12 views
13

Chciałbym wypróbować D, ale nie jestem do końca pewien, jakiego kompilatora użyć. Znalazłem kilka artykułów, a także pytania dotyczące SO na ten temat, ale nie znalazłem żadnych aktualnych.Którego kompilatora D użyć?

Jakie są zalety każdego kompilatora i jakie są jego wady? Teraz kompilator DMD wydaje mi się najlepszy, ale mogę być wprowadzony w błąd przez nieaktualne informacje.

+1

Zobacz także [Wybór między GDC i DMD] (http://stackoverflow.com/questions/14199676/choosing-between-gdc-and-dmd) –

+0

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

Odpowiedz

19

Wszystkie 3 kompilatory D (dmd, gdc, ldc) używają tego samego interfejsu front-end, ale dmd jest generalnie nieco wyprzedza inne, ponieważ jest to kompilator referencyjny. Sądzę również, że jest kilka przypadków, w których pozostałe 2 nie implementują jeszcze niektórych funkcji (głównie w systemie Windows lub OS X IIRC), chociaż ogólnie rzecz biorąc, działają dobrze. Podstawową zaletą gdc lub ldc jest to, że generują one szybszy kod (choć o ile szybciej zależy to od kodu). Jednak ich kompilacja zajmuje dużo więcej czasu.

Tak więc, jeśli dopiero zaczynasz, sugeruję, abyś użył dmd i nie martwił się tym. Z pewnością jest to najnowszy kompilator i uważam, że to właśnie większość ludzi używa. Podstawową wadą jest to, że kod, który generuje, nie jest tak szybki, ale możesz zajrzeć do innych kompilatorów później, jeśli naprawdę tego chcesz.

Dla kodu produkcyjnego, podejście, które generalnie wziąłbym, byłoby rozwinięcie przy pomocy dmd, a następnie wygenerowanie kodu produkcyjnego z gdc lub ldc. W ten sposób uzyskujesz szybki czas kompilacji podczas tworzenia kodu, ale wciąż dostajesz szybsze binaria w produkcji.

8

Dodawanie do Jonathana odpowiedź:

wybór jest również ograniczone przez system operacyjny, którego używasz. W systemie Linux wszystkie 3 (DMD, GDC i LDC) są dostępne. W systemie Windows DMD to jedyny praktyczny wybór, szczególnie jeśli jesteś przyzwyczajony do Visual Studio (pobierz dodatek Visual D). Korzystanie z GDC lub LDC w systemie Windows wiąże się z różnymi stopniami bólu (patrz this discussion).

Jeśli chcesz grać z SIMD, użyj DMD. Inne kompilatory mają niekompletne lub brakujące implementacje (na podstawie rozmów DConf 2013).

Powiązane problemy