关于gcc、glibc和binutils的关系
关于gcc、glibc和binutils模块之间的关系,以及在现有系统上升级glibc
gcc、glibc和binutils模块之间的关系
1) gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的
运行库的支持,如libgcc_s.so、libstdc++.so等。
2) binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序,如汇编(as)、连接(ld)、静态库归档(ar)、反汇编
(objdump)、elf结构分析工具(readelf)、无效调试信息和符号的工具(strip)等。通常,binutils与gcc是紧密相集成的,没有binutils
的话,gcc是不能正常工作的。
3) glibc是gnu发布的libc库,也即c运行库。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,其它基本功能
相关文章
- 关于innodb_flush_log_at_trx_commit、innodb_flush_method、innodb_log_block_size和fsync()、O_DIRECT、iops、云盘的关系与总结
- 关于PWM设置 && 智能小车速度和定时器PWM之间的关系
- 关于CGI、FastCGI和PHP-FPM的关系
- JDBC上关于数据库中多表操作一对多关系和多对多关系的实现方法
- 关于gcc、glibc和binutils模块之间的关系
- 关于gcc、glibc和binutils的关系
- Gcc源代码分析,insn和rtx的关系
- gcc, glibc和binutils的关系
- 关于这样 gcc -O3 和-O2 -Os 的说法对吗
- 关于gcc,libc,glibc等相关概念的理解