gpt4 book ai didi

函数上的 C++ extern 关键字。为什么不只包含头文件?

转载 作者:IT老高 更新时间:2023-10-28 14:00:49 29 4
gpt4 key购买 nike

如果我理解正确,这意味着

extern void foo();

函数 foo 是在另一个翻译单元中声明的。

1) 为什么不直接#include 声明该函数的 header ?

2) 链接器如何知道在链接时到哪里寻找函数?

编辑:也许我应该澄清一下,上面的声明之后是使用函数

foo();

在这个翻译单元中从未定义过。

最佳答案

1) 它可能没有头文件。但是是的,一般来说,对于大型项目,如果多个翻译单元要使用该功能,您应该有一个头文件(不要重复自己)。

2) 链接器搜索它被告知要查找函数和其他符号的所有目标文件和库。

关于函数上的 C++ extern 关键字。为什么不只包含头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2604202/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com