版权所有 © 2014 tutorialspoint
uselib - 加载共享库
#include <unistd.h> int uselib(const char *library);
int uselib(const char *library);
系统调用uselib()用于加载调用进程要使用的共享库。它接收一个路径名。加载位置的地址在库本身中找到。库可以具有任何识别的二进制格式。
成功时,返回零。发生错误时,返回 -1,并且errno被相应地设置。
除了open(2)和mmap(2)返回的所有错误代码外,还可能返回以下错误代码
uselib()是 Linux 特定的,不应在旨在可移植的程序中使用。
uselib()由早期的 libc 启动代码使用,以加载在二进制文件中名称数组中找到的共享库。
从 libc 4.3.2 开始,启动代码在放弃之前尝试在这些名称前加上“/usr/lib”、“/lib”和“”前缀。在 libc 4.3.4 及更高版本中,在这些目录中查找 LD_LIBRARY_PATH 中找到的目录,如果未找到,则尝试前缀“/usr/lib”、“/lib”和“/”。
从 libc 4.4.4 开始,仅加载库“/lib/ld.so”,以便此动态库可以加载所需的其余库(再次使用此调用)。这也是 libc5 的状态。
glibc2 不使用此调用。
ar (1)
gcc (1)
ld (1)
ldd (1)
mmap (2)
open (2)
ld (8)
广告