提到linux编程,不得不提到glibc库。下面对glibc总结下:
一、
glibc是linux系统中最底层的api(应用程序开发接口),几乎其它任何的运行库都会倚赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现,主要的如下:
(1)string,字符串处理
(2)signal,信号处理
(3)dlfcn,管理共享库的动态加载
(4)direct,文件目录操作
(5)elf,共享库的动态加载器,也即interpreter
(6)iconv,不同字符集的编码转换
(7)inet,socket接口的实现
(8)intl,国际化,也即gettext的实现
(9)io
(10)linuxthreads
(11)locale,本地化
(12)login,虚拟终端设备的管理,及系统的安全访问
(13)malloc,动态内存的分配与管理
(14)nis
(15)stdlib,其它基本功能
二、glibc中包含了如此多的库,我们在编程 的时候不可能都用得到,因此将它们分开,我们在程序中只需要将我们需要的部分包含进来。一方面,减小了程序的大小,另一方面,增加了编译速度。
三、为了确定运行时的版本,可以调用以下的函数来确定:
#include
const char * gnu_get_libc_version(void);
或者使用confstr() 来获取_CS_GNU_LIBC_VERSION的值。
#include
ssize_t confstr(int fd,char * buf,size_t len);
阅读(5304) | 评论(0) | 转发(1) |