2010-11-15 34 views
7

Có ai biết nếu ít nhất D thời gian chạy và Phobos cho D 2 sẽ được tạo sẵn dưới dạng DLL hoặc ít nhất sẵn sàng để được biên soạn theo cách như vậy không? Hiện tại, như tôi hiểu, nó sẽ yêu cầu đánh dấu tất cả các chức năng và/hoặc lớp học có liên quan như xuất khẩu. Không thể tìm thấy bất kỳ điều gì tương tự trong các nguồn DMD hiện tại. Cảm ơn.Thời gian chạy D dưới dạng DLL

Trả lời

6

Hiện tại, Phobos có sẵn dưới dạng tệp LIB được dựng sẵn, được liên kết tĩnh với tệp thực thi của bạn trong khi biên dịch.

này có một số lợi thế để DLL:

  • Triển khai - bạn có thể luôn luôn chắc chắn rằng thực thi của bạn có phù hợp thời gian chạy/gc/phobos sẵn - một trong đó được thử nghiệm với ứng dụng của bạn. Có phiên bản mới của Phobos và D thời gian chạy mỗi tháng, sử dụng DLL trong trường hợp này có thể gây ra vấn đề versioning.

Nhược

  • kích thước thực thi là lớn hơn một chút (100s của kb)
  • Mỗi "đơn vị" exe/dll có thu gom rác riêng của mình.

Tại sao bạn nghiên cứu các tùy chọn sử dụng DLL cho Phobos? Bạn thấy gì khi sử dụng LIB?

+0

1. Tự nhiên hơn khi Win có những thứ như vậy trong DLL 2. Ví dụ đơn lẻ về thời gian chạy và GC cho toàn bộ ứng dụng 3. Không sao chép nhị phân –

+5

@ target-san đừng lo lắng về thời gian chạy của D cho một vài nhiều năm nữa. Một khi nó đã được ABI ổn định trong một năm hoặc lâu hơn họ sẽ bắt đầu vận chuyển của DLL. Cho đến lúc đó việc phiên bản một thư viện thay đổi nhanh chóng chỉ tạo ra nhiều vấn đề hơn là giá trị của nó. –

+4

Thành thật mà nói, trừ khi kích thước nhị phân là * thực sự * trở thành một vấn đề, tôi sẽ không lo lắng về DLL. Họ gặp nhiều rắc rối hơn là đáng giá. –

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