【发布时间】:2017-03-29 16:23:32
【问题描述】:
我已经阅读了很多关于链接器或加载器的文章,但是
我很困惑谁负责将对象模块中的绝对引用替换为对其他对象模块中位置的符号引用。
链接器是否替换其他对象模块中的符号引用或加载器在程序加载时在主内存中进行此操作
【问题讨论】:
-
您应该能够通过实验看到这一点。对象(汇编器/编译器)负责为其需要/拥有的东西放置符号名称。链接器还将添加一些符号名称,当然对于链接器脚本中定义的项目,链接器是唯一可以全局连接对象之间点的链接器,因此如果一个对象具有外部对象而另一个对象包含该项目,则链接器将放置项目并更新两者,因为它将它们链接在一起。
-
不确定加载器的作用是什么,定义东西有点晚了
-
请提供您感兴趣的对象和二进制中的数据项及其符号的示例。基本上提供示例。
标签: assembly compiler-errors compiler-construction linker loader