根据该标准,extern内联
函数在所有翻译单元中必须具有相同的地址.
如何在编译器中实现?我的意思是当我编译一些翻译单元时,我不知道其他TU会是什么样的.那我怎么能到处都有相同的地址呢?
这取决于实现,但通常由
链接器
解决.每个编译的翻译单元将
生成一个包含该
函数副本的目标
文件,以某种方式
标记,以便
链接器知道它应该期望(和接受)重复.
链接器将包含其中一个,丢弃其他
链接器,并解析对该
函数的任何引用.
原文链接:https://www.f2er.com/c/111845.html