问题描述
我对位置无关代码及其在动态库中的使用感到非常困惑。
我发现了这个关于 GCC 的 -fPIC 选项的好例子:GCC -fPIC option 我弄清楚它是如何工作的。
然而,我很难理解为什么动态库需要独立于特定地址的代码。 加载动态库时,为什么我们不能只保存其绝对地址(例如库中函数的地址)并使用它们? 为什么在这种情况下必须使用相对地址?
使用“gcc main.c”编译的简单程序 int main() { return 0; }
将始终依赖于位置?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)