【发布时间】:2011-03-17 09:23:12
【问题描述】:
假设我有两个 .cpp 文件,我在其中一个文件中写了
外部整数 i ;
在另一个中,我定义了 i 变量。
现在链接器如何知道第一个文件中的 i 应该链接到第二个文件中“i”的地址?这个问题出现了,因为据我所知,目标文件没有任何关于变量名的信息(它只知道地址)(参见this link)。
我真的很困惑。
【问题讨论】:
-
对象当然知道名称。好吧,符号和符号是根据名称确定地创建的,在简单的情况下是 1:1 映射。然而,这些符号可能不会成为最终的链接形式(即运行时形式)。尽管如此,对于共享库和 RTTI,仍然保留了很多符号信息。