gpt4 book ai didi

linux - Linux机器上的二进制文件默认在/lib中查找库

转载 作者:太空宇宙 更新时间:2023-11-04 03:56:18 24 4
gpt4 key购买 nike

在我的 UNIX 计算机上,我观察到二进制文件默认在“/lib”目录中查找依赖共享库,即使“/lib”目录未在“'PATH”和“LD_LIBRARY_PATH”变量中配置。

我在下面看到库“libssl.so.4”是从“/lib”目录中找到的。

bash-3.00$ ldd openssl
/lib/libcwait.so (0x00f86000)
libssl.so.4 => /lib/libssl.so.4 (0x00408000)

我的“PATH”和“LD_LIBRARY_PATH”如下:

bash-3.00$ echo $LD_LIBRARY_PATH
:/opt/oracle/product/11.2.0/client32/lib:

bash-3.00$ echo $PATH
/opt/pure/releases/purify.hp.2003a.06.15.FixPack.0214/cache/opt/star-ncf-prod/ep_patch/usr/lib:/usr/ccs/bin:/usr/bin:/usr/ucb:/etc:/bin:.:/opt/ccm71/bin:/opt/oracle/product/11.2.0/client32/bin:/opt/tools/bin:/usr/local/bin

请让 mw 知道二进制文件是否默认引用“/lib”目录?

最佳答案

阅读ld.so(8) , ldd(1)dlopen(3)手册页和 Drepper's paper: How To Write Shared Libraries

您将看到“如果库依赖项不包含斜杠,则会搜索它 对于“最后/lib然后/usr/lib

这两个目录是内置的,即连接在动态链接器的代码中,例如我的 Debian 系统上的 /lib64/ld-linux-x86-64.so.2 (我猜 - 但我不确定 - 我的 Debian 上的 /lib64/ 也已连接)。

关于linux - Linux机器上的二进制文件默认在/lib中查找库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24567924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com