1、glibc所包含的各个库介绍
废话少说,直接介绍glibc包含了哪些库:
Library component |
Content |
Inclusion guidelines |
ld (This library component is not itself a library. Instead, ld.so is an executable invoked by the ELF binary format loader to load the dynamically linked libraries into an application’s memory space.) |
Dynamic linker. |
Compulsory. Needed to use any shared libraries. Theoretically not necessary if using only a statically built root filesystem—although this is quite rare, unless you are only using BusyBox, for example. |
libBrokenLocale |
Fixup routines to get applications that have broken locale features to run. Overrides application defaults through preloading. (Need to use LD_PRELOAD.) |
Rarely used. |
libSegFault |
Routines for catching segmentation faults and doing backtraces. |
Rarely used. |
libanl |
Asynchronous name lookup routines. |
Rarely used. |
libbsd-compat |
Dummy library for certain BSD programs that are compiled with -lbsd-compat. |
Rarely used. |
libc |
Main C library routines |
Compulsory. |
libcrypt |
Cryptography routines. |
Required for most applications involved in authentication. |
libdl |
Routines for loading shared objects dynamically |
Required for applications that use functions such as dlopen(). |
libm |
Math routines. |
Required for math functions. |
libmemusage |
Routines for heap and stack memory profiling. |
Rarely used. |
libnsl |
NIS network services library routines. |
Rarely used. |
libnss_compat |
Name Switch Service (NSS) compatibility routines for NIS. |
Loaded automatically by the glibc NSS |
libnss_dns |
NSS routines for DNS. |
Loaded automatically by the glibc NSS |
libnss_files |
NSS routines for file lookups. |
Loaded automatically by the glibc NSS |
libnss_hesiod |
NSS routines for Hesiod name service. |
Loaded automatically by the glibc NSS |
libnss_nis |
NSS routines for NIS. |
Loaded automatically by the glibc NSS |
libnss_nisplus |
NSS routines for NIS plus. |
Loaded automatically by the glibc NSS |
libpcprofile |
Program counter profiling routines |
Rarely used. |
libpthread |
POSIX 1003.1c threads routines for Linux. |
Required for threads programming. |
libresolv |
Name resolver routines. |
Required for name resolution. |
librt |
Asynchronous I/O routines. |
Rarely used. |
libthread_db |
Thread debugging routines. |
Loaded automatically by gdb when debugging threaded applications. Never actually linked to by any application. |
libutil |
Login routines, part of the user accounting database. |
Required for terminal connection management. |
2、如何判断当前自己的glibc版本
系统里的glibc都叫libc.so.6,是不是就不知道它是哪个版本的glibc了呢?其实它是个软连接,可以通过查看它链接到哪个库来判断:
$ ls /lib32/libc.so.6 -al
lrwxrwxrwx 1 root root 12 6月 5 2020 /lib32/libc.so.6 -> libc-2.23.so
可以看到我的Ubuntu里的glibc的版本是2.23。
3、参考
https://www.cnblogs.com/cute/archive/2011/05/03/2035645.html