gpt4 book ai didi

linux - 确定跨 Linux 平台加载哪个共享库的可靠方法是什么?

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

我需要找出从/sbin/ldconfig 返回的信息中给出的将加载哪个库。我想出了以下内容:

#!/bin/bash
echo $(dirname $(/sbin/ldconfig -p | awk "/$1/ {print \$4}" | head -n 1))

运行此结果:

$ whichlib libGL.so
/usr/X11R6/lib

这是一个由两部分组成的问题:

  1. 这会在跨平台上产生可靠的结果吗?
  2. 是否有更灵活的方法来解析 ldconfig 的输出?

谢谢,保罗

最佳答案

可执行文件加载库有多种方式: 1.

  1. 使用$LD_LIBRARY_PATH
  2. 使用 ld 缓存
  3. 将完整路径编译为二进制文件的库(-rpath gcc 标志)

您正在使用选项 2,但不考虑选项 1 和 3。

关于linux - 确定跨 Linux 平台加载哪个共享库的可靠方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2337265/

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