本书针对Linux 2.6内核、GNU C库2.3版、最新的POSIX标准,以及单一Unix规范第6期,在第一版的基础上做了全新的更正。它覆盖了Linux所特有的扩展和特性,帮助你最大程度地发挥当今Linux的强大功能。同时.其他开发人员可分享作者在从事最新的Linux发行版的工作中所获得的思想、技巧、窍门,适合各个层次的Linux程序员,也包括从其他操作系统转行的C程序员。
本书介绍了Linux环境下进行应用程序开发需要掌握的知识,对许多编程实践中经常遇到的内容进行了详细的讲解,并且提供了典型的实例加以说明。
全书分为四个部分。第1部分是初学者需要了解的知识,包括Linux的历史、从事自由软件开发需要了解的版权知识和GPL等许可证,以及如何获取和使用在线文档系统。第2部分介绍了开发环境和工具。其中包括vi,emacs编辑器,gdb调试器的使用,gcc的选项和扩展,GNUC库的基本知识,内存溢出和泄漏的调试工具,如何创建、使用、管理静态库和动态库,以及如何通过系统调用请求系统服务。第3部分详细介绍了Linux系统编程知识。其中包括进程模型,简单文件管理,信号处理,高级文件操作,目录操作,作业控制,终端与伪终端,socket网络,时间和定时器,随机数,虚拟控制台,Linux控制台,以及如何编写安全的程序。第4部分精选了Linux编程中最常用的开发库进行介绍。其中包括字符串匹配,用于终端编程的s—lang库,基于散列的数据库函数库,命令行解析库,如何运行时动态加载共享对象,以及有关用户身份识别和验证的库。
本书内容丰富、实用,语言通俗,不仅适合初学者学习,也适合熟悉Unix环境编程的高级开发人员参考。