在gcc手册中提到:“C标准库本身存储在 '/usr/lib/libc.a'。”我已经安装了gcc,但无法在所述位置找到libc.a文件。想知道它在哪里。
我在/usr/lib位置发现了许多.so文件。它们是什么?
我在/usr/lib位置发现了许多.so文件。它们是什么?
如果您正在寻找 libc.a
:
$ gcc --print-file-name=libc.a
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libc.a
以下是需要注意的几点:
gcc
和glibc
是两个不同的东西。gcc是编译器,glibc是运行时库。基本上所有东西都需要glibc来运行。.a
文件是静态库,.so
表示共享对象,是Linux下动态链接库(DLL)的等价物。libc.a
,而是链接到libc.so
。希望这能为您澄清问题。至于位置,它几乎肯定位于/usr/lib/libc.a
和/或/usr/lib/libc.so
。正如我所说,.so是更常见的。
rpm -ql glibc
和rpm -ql glibc-devel
。locate libc.a
命令可以获取其位置。要查看它来自哪里,请执行以下操作:rpm -qf /usr/lib/libc.a
以下是rpm -qi
关于这些软件包的信息:在CentOS 5.8上
$ ls -l /usr/lib/libc.a
-rw-r--r-- 1 root root 2442786 Apr 8 2010 /usr/lib/libc.a
$ rpm -qf /usr/lib/libc.a
glibc-devel-2.3.4-2.43.el4_8.3
glibc-devel
软件包。