2010-05-08 70 views

回答

33

从C++标准:

源文件与所有标头和源文件一起通过预处理指令#include少任何源极线跳过由任何条件包含预处理指令的包括被称为翻译单元。

30

“翻译单元”是一个源文件加上它包含的任何标题或其他源文件,以及它们包含的任何文件等等。源文件就是......一个源文件。

如果有帮助,请将源文件视为预处理器运行的“之前”,并将翻译单元视为“之后”。

16

翻译单位是C++编译的基本单位。它包含:

  • 所有的预处理后的单一来源文件的内容已经走完
  • 的任何头文件被它直接或间接地包含内容的使用条件预处理语句忽略
  • 减去任何线

单个翻译单元被编译到目标文件,库或可执行程序中。

相比之下,源文件是一个独立文件,就像文件系统上的任何其他文件一样。一旦编译完成,它可以成为上述翻译单元的一个组件。