Mar*_*lon 2 c++ precompiled-headers
我知道预编译的头被用于加快编译,但有什么做的和不该做哪些文件,我应该包括在其中?例如,我有一个项目,该项目使用了很多boost库,因此我只是将boost标头文件包含在其中stdafx.h(我正在使用VS2008)。我是否也应该在其中包含每个标准头文件?例如,即使我包含<vector>但从不使用,这会增加我的可执行文件的大小std::vector吗?在stdafx.h中包含我自己项目的头文件是一个坏主意吗?
一般而言,您在整个应用程序中使用且不会经常更改的每个头文件都应放入预编译的头文件中。这将加快编译速度,因为预编译的头文件仅被编译一次。
如果添加经常更改的头文件,则会错过预编译头文件的要点,因为该头文件经常更改,可能会导致整个项目重新编译,可能是不必要的。
具体来说,定义一个模板类,因此,如果您不使用std::vector,那么开销将不会很大。但是,我建议不要添加头文件(无论标准文件还是通用文件),如果您确实不需要它们的话。编译时间,二进制文件大小有一些开销,并且可能在项目的后期引起冲突,因此,如果您真的不需要它,为什么还要添加一些东西呢?
| 归档时间: |
|
| 查看次数: |
1229 次 |
| 最近记录: |