jea*_*ean 3 c++ performance compilation
在编译期间,在头文件中包含文件或在C++中包含源文件有什么区别?
将文件包含在源文件中而不是头文件中的原因是什么(除非绝对必要时)?
一个(标题)是否影响编译时间而另一个(源文件)是否影响链接时间?
Ada*_*erg 12
当您在任一位置包含文件时,您可以将其视为在文件中展开,然后必须由预处理器和编译器处理.
当您在标题中包含某些内容时,包含标题的每个客户端都会继承这些内容.因此,不必要地在头部中包括文件有可能扩展几个翻译单元,这对性能产生不利影响.
优良作法是将标头包含限制为声明该类所需的标头.除了限制包含在类中使用的那些类型之外,您还可以使用前向声明来代替仅用于通过指针或引用在类接口中使用的类型的包含.
根据我的经验,这种性能影响通常不明显.它可能在非常大的项目或广泛使用的标题中发挥作用.
| 归档时间: |
|
| 查看次数: |
438 次 |
| 最近记录: |