个人简介
Michael K.Johnson是Speifix公司是操作系统工程师。他曾经是Red Hat操作系统的开发人员。他那里,他管理一个内核开发小组长达3年的时间。他是Fedora项目基础技术负责人。他还曾做过有关Linux应用程序开发的教学工作。
内容简介
本书介绍了在Linux环境下开发应用程序需要掌握的知识,对编程实践中经常遇到的问题进行了详细的讲解,并提供了典型实例加以说明。
全书共分为4个部分。第一部分介绍初学者需要了解的知识,包括Linux的历史、从事自由软件开发需要了解的版权知识和GPL等许可证,以及如何获取和使用在线文档系统。第二部分介绍了开发环境和工具,其中包括Emacs编辑器、vi编辑器及gdb调试器的使用,gcc的选项和扩展,GNU C库的基本知识,内存溢出和泄漏的调试工具,如何创建、使用、管理静态库和动态库,以及如何通过系统调用请求系统服务。第三部分详细介绍了Linux系统编程知识,其中包括进程模型、简单文件管理、信号处理、高级文件操作、目录操作、作业控制、终端与伪终端、socket网络、时间和定时器、随机数、虚拟控制台、Linux控制台以及如何编写安全的程序。第四部分精选了Linux编程中最常用的开发库进行介绍,其中包括字符串匹配、用于终端编程的S-Lang库、基于散列的数据库函数库、命令行解析库,如何运行时动态加载共享对象,以及有关用户身份识别和验证的库。
本书内容丰富、实用,适合需要开发Linux软件,或者需要把软件从其他平台移植到Linux上的程序员阅读。