BasicWhat is Compile unit?

当一个c或cpp文件在编译时,预处理器首先递归包含头文件,形成一个含有所有必要信息的单个源文件,这个源文件就是一个编译单元。这个编译单元会被编译成为一个与cpp文件名同名的目标文件(.o或是.obj)。连接程序把不同编译单元中产生的符号联系起来,构成一个可执行程序。

经过预处理之后的文件(这个是内存中的临时文件)
#include在预处理时被展开,宏也一样

一个经过展开后的.cpp文件就是一个编译单元

一个xx.h(经过预处理) + 一个xx.cpp = 一个编译单元
一个编译单元(经过编译)= xx.obj
整个程序的多个.obj加起来(经过链接) = .exe(可执行文件)

原文地址:https://www.cnblogs.com/taoxu0903/p/726522.html