|
1
1
编译器把代码翻译成机器语言。然后,使用链接器将所述代码与其他机器代码串在一起。谷歌更多的关于我写的东西,如果困惑的话;这是一个简化,缺少更精细的细节。
当你打字的时候
通常,这些
|
|
|
2
0
你识别的风险存在。不过,这不是自动的。如果
如果
通常的解决方案是每个报头都以
现在,第二个
链接器无法解决此问题,因为双重定义问题发生在涉及链接器之前。它发生在单个翻译单元的层次上。一个翻译单元基本上是一个.cpp文件,在它的所有.h文件都包含在内之后。每个TU都由编译器单独处理,这个编译器会遍历双定义。链接器不太关心复制。重复的函数定义是链接器的问题,类定义不是。 |