每个操作系统都需要一个C运行库(C runtime library),通常C运行库以动态链接库的形式存在,那如何知道这个库所在的文件目录呢?有个非常简单的方法:
king@debian:/bin$ ldd bash
linux-gate.so.1 => (0xb7755000)
libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xb772c000)
libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xb7728000)
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb75c4000)
/lib/ld-linux.so.2 (0xb7756000)
找任意一个可执行的应用程序,如bash,使用ldd命令来查看该应用程序所依赖的各个动态链接库,其中libc.so.6就是C运行库,它在/lib/i386-linux-gnu/i686/cmov/libc.so.6。