内 容 简 介本书系统地介绍了在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者很快掌握在Linux平台下进行C程序开发的方法和技巧,并具备开发大型应用程序的能力。本书内容翔实,主要包括:Linux平台下C语言及其编程环境的介绍,C语言编译器、调试工具和自动维护工具的使用方法,Linux系统提供的特有函数调用,在C程序中访问文件的方法,进程的概念、进程间通信及多进程同步运行的实现手段,C语言网络编程方法以及curses编程等。本书结构合理、概念清晰、实例丰富,并具有很强的启发性和实用性,适合于有一定的C语言基础,需要在Linux系统上编程的程序设计人员阅读。
前 言 Linux是一个奇迹,是由UNIX发展而来的,最初由一个芬兰大学生开发维护,现在已经成为最为流行的免费操作系统。Linux的独特之处在于它的建立不受任何商品化软件的版权制约,全世界都能免费、自由地使用。世界各地有几十万自愿者为这个充满魅力的系统贡献着自己的才能,从初学者到计算机专业人士,还有经验丰富的黑客们,一起不断地改进和维护着这个系统。许多大学与研究机构、公司及家用PC都在使用Linux。Linux年轻而富有朝气,它从诞生到现在不过15年时间,但已经在市场上确立了自己的地位和广泛的影响。 C语言是国际上广泛使用的计算机高级语言。C语言最初用于描述和实现UNIX系统,后来逐渐被广大程序员所接受,成为最受欢迎的编程语言。在其后的发展过程中,C语言不断吸收计算机方面新的成果,这个古老的语言又焕发出新的魅力。作为Linux系统的开发语言,C语言在Linux编程开发中扮演着重要的角色。 Linux作为一个操作系统,一个重要的功能就是要支持用户编程。C语言作为当前使用最广泛的编程语言,具有多平台、移植性好的特点,因此它们很快形成了完美的结合,为用户提供了一个强大的编程环境。本书正是从这样的结合点出发,介绍在Linux系统中使用C语言编程的有关知识。 本书主要针对具有一定的C语言编程基础,但未在Linux系统中使用过C语言的读者,着重讲解Linux系统中使用C语言编程特殊的地方。其他环境中C编程共有的知识,例如基本语法.c算法等,本书不作重点,只在第1章的概述中简要地作一提示。 全书从逻辑上可以分为三部分: 第一部分即第1章和第2章,简要介绍了Linux系统和C语言,其中扼要地回顾了C语言的语法和Linux基本的文本操作,为后面的阅读提供一定的基础。 第二部分即第3至12章,带领读者熟悉Linux系统的C编程环境,详细讲述了Linux下C语言编译器(如gcc)、.c调试工具(如gdb)及程序自动维护工具make的使用方法。接着依次讲解文件系统.c标准输入输出、进程、信号。后几章提高了一定层次,由浅入深地讲解IPC(进程间通信)、线程、网络Socket编程、curses编程等内容。由于是编程介绍,本书中会附带较多的实例和源代码,既方便说明,也可以使读者通过实例获得一定的感性认识。 第三部分也就是最后两章,我们举两个综合性的例子作为全书的结束—— 一个是在Linux下实现CD播放器;另一个是ping命令的简单实现,在这个例子中会涉及第2章至第12章各章的内容,以帮助读者复习总结学过的系统调用知识。 本书中实例源代码前标有标志的。表示该源代码可通过http://www.tupwk.com.cn/downpage下载。 本书编写过程中得到了韩雪女士的关心和帮助,期间张利辉先生也提出了很多宝贵意见。另外,张江涛、徐日强、赵磊、杜江、刘旭、周鸣扬、范翠丽、黄丽娜、刘伟、陈策、郑艳华、谢振华、唐兵、张俊岭、尹建民等人也参加了本书部分内容的编写及素材整理工作,在此一并表示感谢。 由于作者水平有限,错误之处在所难免,不足之处敬请读者批评指正。 作 者 Linux C编程