.h和.cpp 文件是怎么关联起来的了,编译器是不是看到.h文件后,自动去找同名的.cpp文件呢

来源:百度知道 编辑:UC知道 时间:2024/05/10 05:21:31
.h和.cpp 文件是怎么关联起来的了,编译器是不是看到.h文件后,自动去找同名的.cpp文件呢

首先是编译,然后是链接。
编译器会将所有.cpp文件编译成中间文件.o,编译时遇到.h文件则读入各种(函数,变量等)的声明,此时并不读入对应的.cpp文件。
链接时会将各个.o文件连接成可执行文件。
所以,编译器并不是看到.h文件后立即自动去找同名的.cpp文件,而是将所有的.cpp文件编译成.o文件后一并链接。

不是。编辑器是看到.cpp文件中 #include 的.h文件名,之后按照这个名字去已知路径中去找同名的.h文件。

在CPP的文件里加入:
#include "文件名.h"

对编译器来说,它只管.cpp文件。当它在.cpp文件里遇到“#include<*****.h>”的时候,便会把这个“*****.h”完整地复制到这个.cpp文件中来(当然是在一个临时文件中)。然后再对.cpp文件进行编译。

编译器只管cpp不管.h。 #include只是简单的把这一行替换成头文件的内容。