|
1
3
这似乎是你学习的概念的好时机 translation units . 总之,翻译单元(简称TU)是一个包含所有头文件的单一源文件。这是编译器实际看到的,它对其他翻译单元一无所知。 所以如果有 公告 对于函数,编译器会知道这一点,但如果 释义 (实现)在另一个TU中,那么编译器将不知道这一点。编译器可以生成对函数的调用,但在对象文件中留下一种注释,即引用了另一个翻译单元中的函数。 这就是链接器的作用所在:它接受所有转换单元(对象文件)和库,并解析对不同转换单元中函数的引用。 头文件本身从不单独“编译”,它们总是包含在源文件中。基本上,头文件的代码是复制粘贴到源文件中的。 因此,一旦预处理器完成,编译器和链接器都不知道任何关于头文件的信息。他们看到的只是单一的翻译单元。 |
|
|
adversarr · 全局变量何时导出到可执行文件? 1 年前 |
|
Jip Helsen · 在c中导入链接器地址 1 年前 |
|
Petr Skocik · 与定制的pcc链接 2 年前 |
|
|
KRISHNAKANT MALI · 预处理器和链接器功能中的歧义 2 年前 |
|
|
ihdv · 在c++编译中,提供链接库路径的linux命令是什么? 2 年前 |
|
|
Hans · 避免在C++中优化未使用的变量? 2 年前 |