gcc和glibc

来源:互联网 发布:集线器接入网络方式 编辑:程序博客网 时间:2024/05/01 05:40

一、glibc是什么,以及与gcc的关系
glibc是什么,以及与gcc的关系?
glibc是gnu发布的libc库,也即c运行库。glibc是linux 系统中最底层的api(应用程序开发接口),几乎其它任何的运行库都会倚赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现,主要的如下,glibc对应这些功能有15个头文件:
(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,其它基本功能
gcc 是编译器,基本上 Linux 下所有的程序(包括内核)都是 gcc 编译的,libc 当然也是。
gcc 和 libc 是互相依赖的两个软件,它们合作的方式类似 Linux 系统的 "自举"。先在一个可以运行的带有老 libc 和 gcc 的系统上,用老 gcc 编译出一个新版本的 gcc + 老 libc,再用这个新 gcc 编译出一个新 gcc + 新 libc,再用这套东东编译整个新系统,gcc编译不需要libc支持。
二、系统中默认的gcc一般安装在/bin目录下,头文件和库文件也在/include、/lib、/usr/include、/usr/lib目录下,当然,这里的头文件和库文件有很多,不是只有glib和它的15个头文件,通过系统的相关环境变量LD_LIBRARY_PATH指明了gcc的头文件和库文件的搜索目录。

如果需要安装新版本的gcc,则安装之后会在安装目录下出现/bin、/include、/lib等目录,需要重新修改环境变脸,使得新的gcc能找到这些新生产的头文件和库文件。

 

原创粉丝点击