【发布时间】:2011-03-15 14:36:54
【问题描述】:
我在系统的三个不同路径中拥有相同的共享库。假设路径是 PATH1、PATH2 和 PATH3。
共享库名称是 libmylib.so
现在,在 PATH1 中,如果我用损坏的软链接替换 libmylib.so,它会在 PATH2 中搜索该库。
但是,在 PATH1 中,如果我将 libmylib.so 替换为名称为 libmylib.so 的其他文本文件(或一些不相关的文件),则应用程序执行将失败并显示“不是 ELF 标头”
我对这种行为有点困惑?为什么它会在软链接损坏的情况下搜索其他路径,而在文件不正确的情况下会失败。我期待它也会搜索其他路径以查找不正确的文件。
【问题讨论】:
标签: c linux linker shared-libraries loader