Linux C 编程环境之工具链

来源:互联网 发布:php返回ajax请求 编辑:程序博客网 时间:2024/06/06 21:02



 从理论上说编译一个程序依次需要下面几个工具:C预处理器-->词法分析器-->代码生成器-->优化器-->汇编程序-->链接器。linux下有两个软件包binutils、gcc包括了上面的所有工具。 


 1. binutils工具

Binutils 是一组很重要的开发工具,包括链接器(ld)、汇编器(as)、反汇编器(objdump)和其他用于目标文件和档案的工具(ar),也是gcc的依赖项。 可以通过下面的命令安装 apt-get install binutils 


 2. gcc(gnu collect compiler)
 gcc完成了从"C预处理器"到"优化器"的工作,并提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。 其重要性不必再说,没它什么都干不了 ... ... apt-get install gcc 


 3. make
跟gcc一样大名鼎鼎,也一样重要 apt-get install make 其实上面三项可以通过一个软件包全部安装了,命令是 apt-get install build-essential (此命令还会将g++等工具也安装进来) 


 4. auto工具
make相关工具,也非常有必要 apt-get install autoconf automake 


 5. 调试器gdb
又是一个必备工具 apt-get install gdb 


 6. 其他实用工具


 针对源代码
indent C程序美化器 ctags 创建标签文件,供vi编辑器使用。可以加快检查源文件的速度 lint C程序检查器 


 针对可执行文件
dis 反汇编工具 ldd 打印文件所需的动态连接信息 nm 打印目标文件中的符号表 strings 查看签入二进制文件中字符串 sum 打印文件的校验和与程序块计数 size 打印可执行文件中的各个段 readelf 分析elf格式的可执行文件(包括在binutils中) strip 去除调试信息和符号(包括在binutils中) 


 帮助调试工具
strace 打印可执行文件中的系统调用 ps 显示进程信息 file 检测文件格式 


 性能优化辅助工具
gprof prof time 


 附:Linux下常用开发工具文档链接收集
 收集常用的Linux下文档的连接,希望大家通过回复不断贡献自己的书签,版主会 不断的加入到主贴中。贡献的文档要遵循下面两个原则: 
1 文档内容用中文简体,繁体,或者英文编写 2 文档要是工具的官方或者官方推荐的文档 

1 编译器 1.1 gcc 编译器  http://gcc.gnu.org/onlinedocs/ 小提示:如果你要查找某个编译选项,先从每个版本的[Option Summary]开始 查起,例如你要查3.4.6的某个编译选项 http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Option-Summary.html#Option-Summary 
 2 工程工具 2.1 GNU Make  http://www.gnu.org/software/make/manual/ 

 3 文本处理工具 3.1 sed  http://sed.sourceforge.net/#docs 3.2 vim 中文:  http://cosoft.org.cn/projects/vcd/ 英文:  http://www.truth.sk/vim/vimbook-OPL.pdf 

 4 库 4.1 pthread库  http://www.opengroup.org/onlinepubs/007908799/xsh/pthread.h.html

0 0
原创粉丝点击