什么是翻译单元?
在工程项目编码时,源文件和它所引用的头文件是以多个独立的文件存在的。
在编译时,C的预处理器会将语言文件中的#include指令替换成头文件的内容,并将多个头文件的内容链接到一起,再与源文件连接到一起。
> 编译器会将源代码(.c文件)和该源代码中引用的所有头文件当成仅有一个包含以上所有信息的文件,这个文件成为翻译单元。
一个翻译单元对应一个源代码文件和他所包含的头文件!
我们认为的多文件在C语言的编译器中可能是以一个文件出现的,描述一个具有文件作用域的变量时,它的实际可见范围是整个翻译单元。
如果程序由多个源文件组成,改程序编译后也将由多个源文件组成。每个翻译单元均对应一个源文件和它所包含的头文件。