Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2236537
  • 博文数量: 230
  • 博客积分: 9346
  • 博客等级: 中将
  • 技术积分: 3418
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-26 01:58
文章分类

全部博文(230)

文章存档

2015年(30)

2014年(7)

2013年(12)

2012年(2)

2011年(3)

2010年(42)

2009年(9)

2008年(15)

2007年(74)

2006年(36)

分类:

2010-06-20 01:35:28

  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, 用于跟踪程序执行的系统调用和所接收到的信号。

阅读(2566) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~