【问题标题】:gcc and glibc versionsgcc 和 glibc 版本
【发布时间】:2012-05-14 00:34:30
【问题描述】:

我安装了 gcc 4.1.2。我也在 CentOS 上使用 yum 安装了一个新的独立 gcc(版本 4.4.6)。现在我的问题是,这两个 gcc 版本是使用相同的 glibc 版本还是 glibc 对它们都不同?我怎样才能知道?其次,从性能上来说,使用更新版本的 glibc 会更好吗?

【问题讨论】:

    标签: c linux gcc centos glibc


    【解决方案1】:

    编写一个调用 glibc 函数的简单程序。然后用两个版本的 gcc 编译它,然后在每次编译时执行ldd a.out。您将获得使用的库列表。

    如果你的源文件是test.c 那么:

    $ gcc test.c -o out1  # with gcc 4.1.2
    $ gcc test.c -o out2  # with gcc 4.4.6 
    $ ldd out1
    $ ldd out2
    

    这将显示每个 gcc 使用的 libc 版本。

    性能可能会更好,也可能不会更好,具体取决于对 glibc 函数所做的更新。

    【讨论】:

      【解决方案2】:

      两个 GCC 版本都将使用您在系统上安装的 glibc 版本。 GCC 包(通常)不提供单独的 C 库。

      【讨论】:

      • 可能不会。除非您已对您的应用程序进行了概要分析,确定 glibc 函数是一个瓶颈,并且该函数已在较新的版本中更新/重写。通常,您可能会注意到某些应用程序有所改进,但不要指望有什么特别之处。
      • 但我认为这取决于 glibc 是用哪个版本的 gcc 编译的,因为我发现较新的 gcc 版本可以更好地执行优化?
      • 较新的 gcc 版本有更好的优化器,是的。用更好的优化器编译任何东西,包括 glibc,都可以提高性能,是的。
      猜你喜欢
      • 2019-11-08
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 2022-10-25
      • 2012-03-31
      • 2018-07-21
      • 2013-07-31
      相关资源
      最近更新 更多