标签:链接器
关于Windows下动态链接库的代码地址无关
查了很多资料,网上能参考的真实太少了。 《程序员的自本人修养》里面明确了Linux下跨跨模块调用函数或访问数据,使用GOT实现地址无关。 具体的就是调用某一个函数前,找到GOT中对应项,然后跳转到对应项中保存的目标地址,该目标地址是在动态链接器链接时 填充的,GOT放在数据段,故能够做到地址无关,多个程序共享同一份代码指令。 但是DLL为什么不行呢? 书上看……
04-29 立刻查看
查了很多资料,网上能参考的真实太少了。 《程序员的自本人修养》里面明确了Linux下跨跨模块调用函数或访问数据,使用GOT实现地址无关。 具体的就是调用某一个函数前,找到GOT中对应项,然后跳转到对应项中保存的目标地址,该目标地址是在动态链接器链接时 填充的,GOT放在数据段,故能够做到地址无关,多个程序共享同一份代码指令。 但是DLL为什么不行呢? 书上看……