Chinaunix首页 | 论坛 | 博客
  • 博客访问: 51595
  • 博文数量: 8
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 75
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-11 20:04
文章分类
文章存档

2017年(2)

2016年(3)

2014年(2)

2013年(1)

我的朋友

分类: C/C++

2014-02-19 22:50:26

提到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);




阅读(5180) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~