2010-05-15 140 views
0

當整個項目(解決方案)由多個子項目(.vcproj)組成時,將它們綁定的最佳方式是什麼:作爲靜態庫還是共享庫?Visual Studio解決方案:靜態或共享項目?

假設這些子項目未在別處使用,共享庫方法不應該減少內存使用量或加載時間。

回答

3

意見:靜態,在幾乎所有情況下。

在Windows上的C++中構建跨動態加載庫的接口要困難得多。例如,與Unix共享對象不同,您不能爲所有模塊設置標準單例,因爲DLL會擁有自己的一組靜態變量。

面向對象的接口通常很難從DLL中導出。

至於加載時間,像rebasing這樣的問題需要用共享庫來解決。

另一方面,今天您不共享的庫可能會在將來共享。但是,在大多數情況下,最好在RAM或磁盤映像中支付重複價格,而不是依賴額外模塊的價格。

+0

項目中的不同子模塊,是的。與多個項目一起使用不適用於動態。無論採用哪種方法,您都必須注意符號實際結束的位置 – 2011-04-15 08:07:36

相關問題