2012-03-14 12 views
5

Gần đây tôi đã đọc về ngôn ngữ lập trình D và tôi muốn sử dụng nó cho một ứng dụng nhỏ chạy trên OpenBSD.Lập trình trong D cho OpenBSD

Theo tôi có thể thấy không có cổng OpenBSD cho trình biên dịch, nhưng tôi có thể thấy một tham chiếu đến OpenBSD trong tệp posix.mak. Tôi không có một môi trường phát triển OpenBSD tiện dụng tại thời điểm này, vì vậy trước khi tôi đi và chuẩn bị một trong những tôi đã tự hỏi nếu có ai đã cố gắng phát triển với D trên OpenBSD.

Nó hoạt động như thế nào? Có dễ thiết lập không? Có bất kỳ 'gotchas' để được nhận thức? Cảm ơn trước.

+0

Nếu bạn muốn biết các gói có sẵn trong openbsd mà không cần cài đặt nó, tốt nhất là tìm kiếm các gói trong http://openports.se/. –

Trả lời

2

Trình điều khiển chính thức (dành cho dmd) không hỗ trợ OpenBSD. Để mọi thứ hoạt động đúng với bất kỳ hệ điều hành nào có D, thì bộ điều khiển phải hỗ trợ nó. Có thể nó sẽ xây dựng cho OpenBSD và làm việc với một số công cụ (Tôi không biết), nhưng để nó thực sự hoạt động đúng cách, nó cần hỗ trợ cụ thể OpenBSD. Có một số khối phiên bản cụ thể cho OSes và trừ khi một phiên bản chặn cho OpenBSD (hoặc Posix) tồn tại, thì chức năng đó bị thiếu và sẽ không hoạt động. Nếu đủ là mất tích, sau đó không có gì sẽ làm việc.

Bây giờ, druntime hiện khác nhau ở một mức độ nào đó từ trình biên dịch sang trình biên dịch, vì đó là nơi cấp thấp hơn, cụ thể theo hệ thống (ví dụ: C bindings to glibc và Win32). Vì vậy, gdc và ldc có phiên bản riêng của họ về druntime và có thể hỗ trợ rất tốt OpenBSD. Tuy nhiên, trình biên dịch chính thức, dmd, hiện không làm như vậy.

Vì vậy, nếu bạn muốn sử dụng OpenBSD với D, bạn sẽ phải xem gdc và ldc. Tôi tin rằng các nhà phát triển gdc nói riêng đã thực hiện thêm một số công việc để bổ sung thêm các hệ điều hành và kiến ​​trúc, vì nó đang cố gắng chuyển sang gcc, nhưng tôi thực sự không biết chính xác nó hỗ trợ vào thời điểm này, và tôi không có ý tưởng trạng thái hiện tại của ldc là gì. Tuy nhiên, có một cơ hội tốt mà họ hỗ trợ OpenBSD.

+0

Cảm ơn Jonathan. Tôi sẽ kiểm tra xem nó ra, nhưng tôi lấy nó, bạn đã không cố gắng xây dựng bất cứ điều gì trên OpenBSD mình? –

1

Tôi chỉ tìm thấy điều này: https://bitbucket.org/goshawk/gdc/src/b3b60fdac583/d/phobos/std/c/openbsd/openbsd.d
Vì vậy, ít nhất GDC (giao diện GCC cho D) có một số hỗ trợ OpenBSD. Nhưng nó có hiệu quả không - tôi không thể nói.
Nhưng bạn có thể thử :)

+0

Có, cảm ơn bạn đã liên kết. Nó, giống như tệp posix.mak mà tôi đã đề cập, gợi ý rằng một số nỗ lực đã được thực hiện để chạy nó trên OpenBSD. Tôi sẽ có một đi vào nhận được nó để làm việc, nhưng tôi vẫn còn quan tâm đến nghe từ bất cứ ai đã thực sự có một môi trường phát triển D chạy trên OpenBSD. –

+0

@Raxillan: Ngừng lây lan FUD. Nếu bạn không biết đủ về tình trạng hiện tại của công việc, đừng nói gì cả - ít nhất là không chắc chắn lắm. – simendsjo

+0

@simendsjo Prooflinks, vui lòng - sau đó tôi xóa bài đăng. Được? Tôi sẽ chỉ thực sự vui mừng khi biết: waht D đã ổn định (không có thay đổi đột phá), Tango đã được chuyển sang D2, IDE phong phú đã được tạo và vân vân. – Raxillan