如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第23章Linux基本编程本章的学习目标:●了解什么是GNU计划及其意义●熟悉各种GNU计划实用程序●熟悉GCC编译器的用法和执行过程●了解多文件项目●熟悉makefile的结构●熟悉gdb调试程序23.1GNU计划的实用程序GNU(它代表GNUisnotUNIX)是由Richardstallman开发的一个与UNIX兼容的软件系统。大多数Linux软件是经过自由软件基金会(FreeSoftwareFoundation)的GNU(www.gnu.org)公开认证授权的,因而通常称为GNU软件。GNU软件免费提供给用户使用,并被证明是非常可靠和高效的。许多流行的Linux实用程序如C编译器、shell和编辑器都是GNU软件应用程序。GNU计划包括上百个命令、工具和工具的集合,以及文档。说实话,如果没有上百位的编程者用他们的时间和精力开发这些程序,RedHatLinux不会像现在拥有这么丰富的内容。23.1.1GNU计划软件内容GNU计划的实用程序分布在多个部分中。bin实用程序、diff实用程序以及shar(shellarchive)实用程序主要用于开发工作;最常用的实用程序是文件实用程序、查找实用程序、shell实用程序以及文本实用程序。表23-1列出了GNU计划的各种实用程序。用户可以发现几乎所有的这些软件都已安装在用户的RedHatLinux系统上。它们是在Linux系统安装时安装的,或是使用rpm命令或Glint软件维护X11客户事后更新的。表23-1GNU计划的各种实用程序应用程序集描述am-utils各种网络和文件系统工具,如hostname或mount•372•RedHatLinux9.0基础教程as一个基本的程序开发工具——GNU的汇编器autoconf为源代码生成配置脚本的编程工具automake生成makefile的编程工具bashBourneAgainshell(是对BourneShell的改进和扩大)bfdGNU的二进制文件描述符库binutils二进制工具,其中许多用来编程,如ar、ranlib和strip等bisonGNU的bison命令(类似yacc解析器生成器)ccmode使emacs支持源代码编辑cl对GNUemacsLisp的普通Lisp支持cppC的预编译器cpioGNU中的cpio存档程序cvsCVS的一部分,RCS的前端程序cvsclient对cvs协议的描述diff进行文件不同之处的比较的一些程序dired-x支持GNUemacs进行目录编辑dvipsDVI到PostCsript的转换器ed行编辑器ediff多个文件的比较和融合egcs实验性的GNUC编译器emacsGNU中的宏编辑器find文件系统查找和操作工具fontnameTeX的字体名称forms对GNUemacs的数据库形式项的支持g77GNU中的Fortran编译器(续表)应用程序集描述gasp编程工具——GNU的汇编预处理器GCC基本编程工具——GNU的C编译器gdb编程工具——GNU的调试器gdbint内部连到GNU调试器gdbm数据库例程的库gbk图形例程的库gettextGNU中gettext编程例程的工具git交互性工具gmp.info一个多精度的数学计算例程库gnusemacs中的Usenet阅读器第23章Linux基本编程•373•gpm在文本模式窗口下支持鼠标的例程库(包括gpm守护程序)gperf散列函数生成器gprof生成profile类型文件grepGNU中的规则表达式查找工具gtkGNU图形处理器(GIMP)的图形例程库gzip文件压缩程序集historyGNU的历史库和文档(支持编程)indent格式化源代码的编程工具info准备和阅读GNU中info格式的文本文件的工具kpathsea目录搜索的程序库ld基本编程工具——GNU链接器libc包含了几乎所有命令要用到的库例程libtool支持共享软件库的脚本和信息Linux-faqLinux的常见问题和答案(/usr/doc/FAQ)m4GNU中的宏处理器make用于从脚本建立程序的编程工具message在GNUemacs中支持电子邮件和新闻阅读mgetty登录监视程序(支持语音邮件、传真等)mh-e使GNUemacs支持MH电子邮件mmallocGNU中的内存映射程序(为编程者提供内存管理支持)mtools访问和操作DOS磁盘的工具pdb对GNU图像处理器的支持psacct记账工具readline软件输入工具(续表)应用程序集描述re