您的位置:首页 > 运维架构 > Linux

Linux下的C/C++开发与调试工具

2008-12-20 11:47 239 查看
  Linux开发环境相当完善,且功能完整,它主要由GNU的编译器和库,以及大量的系统例程及库组成,能够支持C++、C和汇编语言程序,重点是针对C++和C语言。因为Linux的源代码主要是用C语言实现的,开发人员可以方便地获取并进行修改和重新编译,因此为Linux操作系统提供了一个强大的C语言开发环境至关重要。Linux开发环境包括GNU编译工具集、调试工具和相关的实用工具。  1.GNU编译工具集GCC    (1) cpp,C语言预处理器。负责宏展开、条件编译指令、包含其他头文件和行控制等功能。调用预处理器是从源代码创建二进制可执行程序的第一步。    (2) as,汇编器。用于根据汇编语言的源文件创建出带有.o后缀的二进制目标文件。    (3)ld,链接器。用于将目标文件与系统目标文件和库文件进行链接,创建二进制的可执行程序。
  2.GNU调试工具GDB   GDB是一个威力强大和应用广泛的调试器。GDB可以创建带有特定调试信息的程序,从而可以在代码中设置断点并在运行时单步执行代码。GDB中的常用指令包括list(列源码), break(设置断点), run(执行程序), next(执行下一行), step(单步执行一行), print(显示表达式), continue(继续执行至下一点断点或结束), info(显示调试器状态信息), show(显示被调试程序信息), backtrace(显示调用轨迹,同where, info stack)等。    
    3.实用工具集Binutils    (1) ar, 归档各程序,创建、修改并从代码归档中提取文件。    (2) nm, 用于列出目标文件中的符号。    (3) objcopy, 用于复制和转换目标文件。    (4) objdump, 用于显示二进制文件的内容。    (5) ranlib, 为归档文件的内容生成索引。    (6) size, 列出目标文件的总体大小及各段的大小。    (7) strings, 列出文件中的可打印的字符串。    (8) strip, 清除文件是的符号。    (9) readelf, 显示文件中有关ELF格式的信息。    (10) strace, 用于跟踪程序执行的系统调用和所接收到的信号。
(Aiguille.LIU / 刘爱贵 aigui.liu@gmail.com)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息