【发布时间】:2012-05-14 00:34:30
【问题描述】:
我安装了 gcc 4.1.2。我也在 CentOS 上使用 yum 安装了一个新的独立 gcc(版本 4.4.6)。现在我的问题是,这两个 gcc 版本是使用相同的 glibc 版本还是 glibc 对它们都不同?我怎样才能知道?其次,从性能上来说,使用更新版本的 glibc 会更好吗?
【问题讨论】:
我安装了 gcc 4.1.2。我也在 CentOS 上使用 yum 安装了一个新的独立 gcc(版本 4.4.6)。现在我的问题是,这两个 gcc 版本是使用相同的 glibc 版本还是 glibc 对它们都不同?我怎样才能知道?其次,从性能上来说,使用更新版本的 glibc 会更好吗?
【问题讨论】:
编写一个调用 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 函数所做的更新。
【讨论】:
两个 GCC 版本都将使用您在系统上安装的 glibc 版本。 GCC 包(通常)不提供单独的 C 库。
【讨论】: