2013-08-16 37 views
13

Tôi muốn thử D nhưng tôi không hoàn toàn chắc chắn những gì trình biên dịch để sử dụng cho nó. Tôi đã tìm thấy một số bài báo, và cũng có SO câu hỏi, về chủ đề này, nhưng tôi không tìm thấy bất kỳ bài viết nào cập nhật.Trình biên dịch D nào để sử dụng?

Lợi ích của mỗi trình biên dịch là gì và nhược điểm là gì? Ngay bây giờ trình biên dịch DMD có vẻ tốt nhất với tôi nhưng tôi có thể chỉ bị lừa bởi thông tin lỗi thời.

+1

Xem thêm [Chọn giữa GDC và DMD] (http://stackoverflow.com/questions/14199676/choosing-between-gdc-and-dmd) –

+0

Xem thêm [DMD so với GDC so với LDC] (http: //stackoverflow.com/questions/6767065/dmd-vs-gdc-vs-ldc) –

Trả lời

19

Tất cả 3 trình biên dịch D chính (dmd, gdc, ldc) sử dụng cùng một giao diện người dùng, nhưng dmd thường đi trước một chút so với các trình biên dịch tham chiếu khác. Ngoài ra, tôi tin rằng có một vài trường hợp khác 2 không thực hiện một số tính năng nào (chủ yếu trên Windows hoặc OS X IIRC), mặc dù nói chung, chúng hoạt động tốt. Ưu điểm chính của gdc hoặc ldc là chúng tạo ra mã nhanh hơn (mặc dù phụ thuộc nhanh hơn vào mã). Tuy nhiên, họ cũng mất nhiều thời gian để biên dịch mã.

Vì vậy, nếu bạn mới bắt đầu, tôi khuyên bạn chỉ nên sử dụng dmd và đừng lo lắng về điều đó. Nó được đảm bảo là trình biên dịch cập nhật nhất, và tôi tin rằng đó là điều mà hầu hết mọi người sử dụng. Nhược điểm chính của nó là mã mà nó tạo ra không phải là khá nhanh, nhưng bạn có thể xem xét các trình biên dịch khác sau này nếu/khi bạn thực sự quan tâm đến điều đó.

Đối với mã sản xuất, cách tiếp cận mà tôi thường sử dụng sẽ là phát triển bằng cách sử dụng dmd và sau đó tạo mã sản xuất bằng gdc hoặc ldc. Bằng cách đó, bạn sẽ có được thời gian biên dịch nhanh khi phát triển mã nhưng vẫn nhận được các tệp nhị phân nhanh hơn trong quá trình sản xuất.

8

Thêm vào câu trả lời của Jonathan:

Lựa chọn của bạn cũng bị hạn chế bởi hệ điều hành bạn đang sử dụng. Trên Linux, tất cả 3 (DMD, GDC và LDC) đều có sẵn. Trên Windows, DMD là sự lựa chọn thực tế duy nhất của bạn, đặc biệt là nếu bạn đang sử dụng Visual Studio (có được Visual D add-on). Sử dụng GDC hoặc LDC trên Windows liên quan đến các mức độ đau khác nhau (xem this discussion).

Nếu bạn muốn chơi với SIMD, hãy sử dụng DMD. Các trình biên dịch khác có triển khai không đầy đủ hoặc thiếu (dựa trên các cuộc đàm phán DConf 2013).

Các vấn đề liên quan