2012-03-21 78 views
3

我想知道,在製作自己的靜態庫時,將所有頭文件合併到一個包裝頭文件中是一個好主意嗎?例如,假設我有一堆* .h和* .cpp文件,我將它們編譯爲* .lib文件。製作一個包裝器頭文件是一個很好的做法,所以當我編寫包含器時,我只需要包含一個頭文件,其中包含了我可能需要或可能不需要的其他所有內容。這是否膨脹了* .exe文件,該文件會被鏈接到庫文件,而這些文件並沒有被使用?爲一個庫合併頭文件

回答

4

如果它是一個靜態庫,它無論如何將成爲exe的一部分,無論你使它成爲一個頭還是多個頭。但是,從設計的角度來看,最好將頭文件分開,以便該頭文件的用戶只包含他特別需要的頭文件。

+0

準確地說,鏈接器僅從靜態庫中提取所需的單個對象文件。一個可能的結果是,它拖出了0個目標文件,即鏈接器命令行中的多餘靜態庫 – 2012-03-21 08:59:43

+0

但是它的組織條件是將它們分開的更好嗎? – mma1480 2012-03-21 17:08:41

+0

@ mma1480:是的,這樣可以避免不必要的聯繫。 – Aamir 2012-03-22 03:37:36