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