将头文件合并为一个库的操作

5
我在想,制作自己的静态库时,将所有头文件合并成一个包装头文件会不会是个好主意?例如,假设我有一堆*.h和*.cpp文件,我将它们编译成*.lib文件。制作一个包装头文件是否是良好的实践?这样当我写include时,我只需要包含一个头文件,它将包括所有其他文件,我可能需要或不需要。这会使*.exe文件臃肿吗?如果连接到未使用的库文件,会不会导致其变得庞大?
1个回答

5

如果是静态库,无论你将其放在一个头文件中还是几个头文件中,它都会成为可执行文件的一部分。但是,从设计角度来看,最好将头文件保持独立,让该库的用户只包含他特别需要的头文件。


准确来说,链接器仅从静态库中提取所需的单个目标文件。可能的结果是它提取了0个目标文件,即在链接器命令行中存在一个多余的静态库。 - Maxim Egorushkin
但是从组织角度来看,将它们分开是否更好? - mma1480
@mma1480:是的,这样可以避免不必要的链接。 - Aamir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接