谁负责符号引用链接器或加载器
who is responsible for symbolic reference linker or loader
我已经阅读了很多关于链接器或加载器的文章,但是
我很困惑谁负责通过对其他目标模块中位置的符号引用来替换目标模块中的绝对引用。
链接器是否替换其他目标模块中的符号引用或加载器是否在主内存中的程序加载时进行此操作
解决目标模块之间的符号依赖关系历来是链接器的责任。链接器检查所有目标文件并解析所有符号引用并构建整体可执行文件。然而,当我们引入共享库时,这种方法就失效了,即可以在不同的可执行文件之间共享并在加载时链接到程序的目标模块。为了完成这项工作,链接器的某些部分被移动到加载器中,使依赖关系的解析成为共同的责任。链接器解决目标文件和静态库之间的依赖关系,而加载器解决可执行文件和任何共享库之间的依赖关系。
我已经阅读了很多关于链接器或加载器的文章,但是
我很困惑谁负责通过对其他目标模块中位置的符号引用来替换目标模块中的绝对引用。
链接器是否替换其他目标模块中的符号引用或加载器是否在主内存中的程序加载时进行此操作
解决目标模块之间的符号依赖关系历来是链接器的责任。链接器检查所有目标文件并解析所有符号引用并构建整体可执行文件。然而,当我们引入共享库时,这种方法就失效了,即可以在不同的可执行文件之间共享并在加载时链接到程序的目标模块。为了完成这项工作,链接器的某些部分被移动到加载器中,使依赖关系的解析成为共同的责任。链接器解决目标文件和静态库之间的依赖关系,而加载器解决可执行文件和任何共享库之间的依赖关系。