2010-11-15 45 views
7

有誰知道如果至少D運行時和D的Phobos將預先構建爲DLL或至少準備好以這種方式編譯? 目前,據我瞭解,它將需要標記所有相關的功能和/或類作爲出口。在目前的DMD來源找不到類似的東西。 謝謝。作爲DLL的D運行時間

回答

6

目前,Phobos可以作爲預先構建的LIB文件提供,它在編譯期間靜態鏈接到您的可執行文件。

這有一定的優勢,以DLL:

  • 部署 - 你可以隨時確保您的可執行文件有適當的運行/ GC /火衛一用 - 這與你的應用程序測試的一個。每個月都有新版本的Phobos和D運行時,在這種情況下使用DLL會導致版本控制問題。

缺點

  • 可執行尺寸稍大(KB的100S)
  • 每個 「單元」 EXE/DLL有它自己的垃圾收集器。

你爲什麼研究使用動態鏈接庫的選項?您在使用LIB時看到了哪些不足?

+0

1.它更自然的勝利有這樣的事情在DLL 2.運行時間和GC的單實例爲整個應用程序 3.無重複的二進制文件@ – 2010-11-15 16:24:47

+5

目標-SAN不用擔心D's運行時間幾更多年。一旦ABI穩定了一年左右,他們將開始發貨DLL。在此之前,對一個快速變化的圖書館進行版本控制只會產生更多的問題,而不是值得的。 – 2010-11-15 20:05:43

+4

老實說,除非二進制大小真的成爲問題,否則我不會擔心DLL。他們比他們的價值更麻煩。 – 2010-11-15 22:41:46