当任何文件包含在 #include
指令中时,编译器会处理其内容,就好像它是正在编译的源文件的一部分
实际上这取决于。
#include
的意思是:嘿,编译器能否请您将该文件的内容复制到该文件中(在预处理阶段)。编译器将内容复制到给定文件后,它现在将用于编译器,这取决于。大多数编译器默认编译器编译给定的 c++ 文件,但其他外部函数和类(例如 stl 和其他不属于您的第三方库)将在运行期间找到(这是动态库)动态库的另一侧是静态库,这是它不是编译器编译特定文件,而是针对您的依赖项并沿着您的代码编译它们并将它们放在一起,在这种情况下,程序不需要在运行期间查找库,这就是我说它依赖的原因。
有关编译器阶段 here 的更多信息。
有关动态库和 stl 以及动态库 here 的更多信息。