在Linux中,当找不到二进制文件所需的共享对象库时,会出现以下致命错误:
error while loading shared libraries: libabc.so: cannot open shared object file: No such file or directory
此文本来自glic库,文件elf/dl-error.c
函数_dl_signal_error
。
问题是我怎么能(有可能)实现我自己的失败处理程序(在启动的二进制文件中)来克服未找到的共享对象的问题。当然,我必须采取预防措施,不要从错过的图书馆中拨打符号,但这是另一个问题。
upd:这个问题不是关于如何用dlopen实现类似的(许多人指出它)。问题是关于glibc /(加载过程)内部。