【问题标题】:Where can I find source code of ldconfig? [closed]我在哪里可以找到 ldconfig 的源代码? [关闭]
【发布时间】:2025-07-16 09:30:02
【问题描述】:

我想看看它的实现,它在哪里可用?

【问题讨论】:

    标签: linux open-source


    【解决方案1】:

    ldconfigglibc 库的一部分。

    【讨论】:

    • gnu下的libc叫glibc,在windows下叫什么?
    • glibc 不适用于 Windows 平台。 Microsoft 有自己的 VS 附带的标准 C 库的实现。但是无论如何都没有ldconfig 或Windows 平台的替代方案。它是纯粹的 *nix 工具。
    • 它自己的标准C库实现叫什么名字?
    • 看看msvcrxy.dll,其中xy是vc的版本(例如msvcr70.dll)。此 DLL 包含 MS 标准库运行时。我不知道这个库的代码是否开放。头文件可以在VS安装目录内的VC目录中找到。
    【解决方案2】:

    这是我在运行 Linux 的 Fedora 发行版的系统上找到源代码的方法。 (对于 Debian、Ubuntu 和类似的发行版,使用的命令会有所不同。)

    rpm -qfi `which ldconfig`
    

    (那些 `s 是反引号,而不是撇号。)

    这会输出以下内容

    Name        : glibc                        Relocations: (not relocatable)
    Version     : 2.13                              Vendor: Fedora Project
    Release     : 1                             Build Date: Thu 20 Jan 2011 10:52:15 AM GMT
    Install Date: Sun 13 Mar 2011 11:42:50 AM GMT      Build Host: x86-04.phx2.fedoraproject.org
    Group       : System Environment/Libraries   Source RPM: glibc-2.13-1.src.rpm
    Size        : 13616282                         License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
    Signature   : RSA/SHA256, Thu 20 Jan 2011 04:42:22 PM GMT, Key ID 421caddb97a1071f
    Packager    : Fedora Project
    URL         : http://www.gnu.org/software/glibc/
    Summary     : The GNU libc libraries
    Description :
    The glibc package contains standard libraries which are used by
    multiple programs on the system. In order to save disk space and
    memory, as well as to make upgrading easier, common system code is
    kept in one place and shared between programs. This particular package
    contains the most important sets of shared libraries: the standard C
    library and the standard math library. Without these two libraries, a
    Linux system will not function.
    

    此输出的重要部分是 Source RPM 字段。这表明 ldconfig 是 glibc 项目的一部分(至少,根据 Fedora 的说法——非常偶尔一些发行版将两个密切相关的源项目打包在一个包中,但这种情况很少见)。

    所以希望你能在这个 tarball 中找到 ldconfig 的来源:http://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.gz

    万一它不存在,您应该能够在用于 Fedora 发行版的 glibc 的源 rpm 中找到它(或您的发行版的等效源包)。

    【讨论】:

    • 抱歉,该链接实际上不是最新版本的 glibc - 我对 FTP 站点上文件的字典顺序感到困惑,当它从 x.9 版本变为x.10 版本号。