gcc的整套编译开发工具链包括以下工具:
[-A-] binutils:一组用于编译、汇编、链接和其它调式目的的程序,包括:
ar 生成静态库;as 汇编器;ld 链接器(在链接过程中,由gcc调用链接器ld,将用户编译生成的目标文件连同系统的glibc启动代码链接在一起,形成最终的可执行文件);nm 查看目标文件中的符号; objcopy 将原目标文件中的内容复制到新的目标文件中(可以通过不同命令选项调整目标文件的格式,例如去除某些ELF文件头);ranlib 为静态库文件创建索引,相当于ar命令的s选项;readelf 解读ELF文件头;size 列出目标文件每一个段的大小和总的大小;strings 列出目标文件中的字符串;strip 去除目标文件中的所有符号,使目标尺寸减小
[-B-] gcc: gnu的编译器集合,Linux环境下默认的C语言编译器。
[-C-] glibc: gnu的C语言标准函数库。该库实现Linux系统函数,例如open、read等,也实现标准C语言库,如printf等。几乎所有应用程序都需要与glibc链接。