【发布时间】:2020-04-03 02:00:52
【问题描述】:
在 C++ 中构建可执行文件时,包含头文件时
例如,
#include <iostream>
预处理器是否找到库 iostream 库和使用的函数,或者是链接时注入的库函数的目标代码?
【问题讨论】:
-
#include基本上在预处理期间将标头的内容粘贴到您的源中。库和目标文件由链接器处理。 -
标题基本上告诉编译器“这里有一些声明。我保证这些东西实际上是在另一个对象模块中定义的。”然后,链接器在将 obj 和静态库链接在一起时尝试修复这些引用。如果找不到,则会生成“未解决的外部”错误。
-
这是一个非常好的问题。我唯一的问题是,如果以前没有被问过,我会感到非常惊讶。
-
Gopt 非常感谢,总是听到老师说“包含粘贴所需的内容代码”,然后当我遇到 Dynamica 和静态链接时,我认为这可能是定义,感谢您的澄清跨度>
-
这能回答你的问题吗? How does #include work in C++?
标签: c++