C++ 我应该只使用头类还是库文件?

C++ 我应该只使用头类还是库文件?,c++,class,C++,Class,我正在创建一个通用的外部库。我要问的是,我应该像boost那样把每个类都放在.hpp文件中,还是应该把它编译成一个lib文件,并保留每个类两个文件的规则。据我所知.hpp是用来提高速度的,所以你不必为每个类添加一个.lib,也不必为整个类和跨平台添加大量的.lib [编辑]您个人偏好是什么,为什么。我的图书馆只供我个人使用。 [编辑]对于在多个编译单元(cpp文件)中使用的类,要静态链接库,您需要尽可能小的头文件以缩短构建时间。大部分代码应该放在cpp文件中。这实际上取决于您是否有跨平台或模板化

我正在创建一个通用的外部库。我要问的是,我应该像boost那样把每个类都放在.hpp文件中,还是应该把它编译成一个lib文件,并保留每个类两个文件的规则。据我所知.hpp是用来提高速度的,所以你不必为每个类添加一个.lib,也不必为整个类和跨平台添加大量的.lib

[编辑]您个人偏好是什么,为什么。我的图书馆只供我个人使用。
[编辑]对于在多个编译单元(cpp文件)中使用的类,要静态链接库

,您需要尽可能小的头文件以缩短构建时间。大部分代码应该放在cpp文件中。

这实际上取决于您是否有跨平台或模板化的代码。如果需要进行大量的预处理来生成头文件,那么您可能没有太多的选择来选择在头文件中占多数。否则,作为一般规则,您应该尽可能多地预编译。

这将完全取决于可能命名的更多因素。做任何有意义的事。你想给他们消息来源吗?或者你想让它们链接到二进制文件。这是两个基本选项。静态链接还是动态链接?不,对于一个静态库来说,大部分内容应该放在许多小的源文件中,因此与库链接只能在必要的函数中进行链接。我认为这只适用于某些链接器。例如,MS toolchain(2008)在使用/Gy编译到对象文件并使用/OPT:REF链接exe时删除了未引用的函数。