【发布时间】:2017-04-28 05:28:03
【问题描述】:
我读到#include <file> 会在编译之前通过 C++ 预处理器将粘贴的“文件”复制到我们的源文件中。
这是否意味着只要我们编译源文件,“文件”(iostream)也会一次又一次地编译?
同样在C++完成它的工作之后,中间文件的大小也会有“文件”+“源文件大小”的字节数吗?
【问题讨论】:
-
上一个关于同一主题的问题可以帮助你很多stackoverflow.com/questions/22645097/…
-
阅读preprocessor 的文档(C 和 C++ 几乎相同,但配置不同)。如果使用GCC(例如
g++)编译器,您可以像-H一样传递preprocessor options(以了解真正包含哪些标头),或者使用-C -E获取预处理表单 -
可能值得一提的是“forward declaration”标头,尤其是
iosfwd,它类似于缩小尺寸的iostream,当您不需要完整iostream 的所有细节时很有用文件。
标签: c++