2013-07-02 35 views
-2

我正在將我的類存儲在靜態庫中。例如,修改原始頭文件,如添加行編譯註釋(lib,「MyClass」),然後將文件複製到Visual Studio的include和lib文件夾。任何事情都很好,直到我想將菜單添加到我的類中.Lib文件沒有資源,因此我將爲此類使用動態鏈接庫。這種將邏輯存儲在dll中的類是什麼?我也不知道如何使用這樣的DLL ... 是否有一些這樣的例子?還有像CFileDialog類有資源(對話框)這種類使用靜態庫或動態?靜態庫vs用於存儲類的動態庫

回答

0

對我而言,這聽起來像是「分裂事物的錯誤地方」。換句話說,如果你的庫需要一個作爲應用程序一部分的資源,那麼它可能並不是首先成爲一個庫的 - 它可能是一個包含自己資源的正確的獨立DLL,因爲它有一個完整的獨立功能,或者它實際上是主要可執行文件的一部分,並使用主要可執行文件的資源。

把東西變成一個庫的一點是,它允許將庫內容從主應用程序中分離出來。

另一種選擇當然是將相關資源信息從主應用程序傳遞給庫中的類[當然,這對於DLL也有效]。

我在這裏的觀點是,一個菜單的東西,屬於主應用程序 - 它知道它有什麼FileEditView,等下如果你正在寫一個字處理器,你可能喜歡的東西「拼寫檢查「,但您不想在Photo Editor軟件中進行」拼寫檢查「,但您可能需要某種方式來獲取顏色配置文件信息,以使顯示器的顏色平衡與官方顏色相匹配。所以處理菜單的你的「班級」可能不應該「知道」菜單是什麼,而是一般如何處理菜單 - 你有哪些菜單來自實際的主應用程序。

我知道這是不是一個真正的直接回答你的問題......

+0

感謝您的回答,我想創建獨立的類不需要任何其他的工作,所以我要把它轉換爲一個DLL項目。我想沒有其他事情要做。 – h3x0r