在文件中包含所有模板库

cur*_*rer 1 c++ boost header

在我的一些编码工作中,我已经使用了一些模板库,如Boost和Thrust(用于CUDA).

要使用Boost库的某个功能,必须包含boost::lexical_cast我必须使用的相应header.eg boost/lexical_cast.hpp.为我的项目使用的Boost/Thrust的每个新功能保留适当的标题是很累人的.

是否有任何"快捷方式"告诉预处理器包含存储在boost库下的所有头文件,这样我就不用担心要包含哪个头文件了?

我在Ubuntu下使用GCC.

sbi*_*sbi 6

你不希望这样.你想尽可能少地包括在内.编译时间在C++中是非常糟糕的.开始将所有东西都包括在内,甚至会变得更糟.

我一直在一个项目中工作,在一个体面的单核CPU上编译50分钟,连接5-10分钟.如果你在基础深处做模板工作,这会给你带来很大的痛苦.

Boost带有一堆东西(比如MPL),它将编译器扩展到最大限度.在任何地方都包含这些东西是疯狂的(除了五个cpp文件类型的项目).