FreeBSD 共享库管理与跨平台软件运行指南
1. 共享库管理工具 ldconfig
在 FreeBSD 系统中,管理共享库的主要工具是 ldconfig(8) 。与之相关的命令还包括 rtld(1) 、 ldd(1) 等。
1.1 二进制类型:aout 和 ELF
- 类型简介 :aout 是旧标准,ELF 是新标准。以一种类型编译的程序不能使用另一种类型的共享库,例如 ELF 程序不能使用 aout 共享库。尽管 aout 二进制文件正在逐渐消失,但 FreeBSD 仍需长期支持这两种类型。
- 运行时链接器 :执行需要共享库的 ELF 二进制文件时,系统会调用
rtld(1)(运行时链接器)。它会在加载二进制文件时检查并确定所需的共享库,然后加载这些库。aout 二进制文件有单独的运行时链接器ld(aout)。 - 库缓存 :
rtld从库缓存中获取共享库,而不是每次执行程序时都在整个系统中搜索。库缓存存储在两个文件中:/var/run/ld.so.hints(aout)和/var/run/ld - elf.so.hints(ELF)。缓存配置错误是共享库问题的常见原因。
1.2 查看已有库
要查看系统中已有的库列
超级会员免费看
订阅专栏 解锁全文
84

被折叠的 条评论
为什么被折叠?



