专业Linux编程指南

需积分: 9 2 下载量 45 浏览量 更新于2024-07-24 收藏 5.65MB PDF 举报
"《Professional Linux Programming》是一本由Jon Masters和Richard Blum合著的专业级Linux编程指南。这本书深入探讨了Linux操作系统的核心概念和技术,旨在帮助开发者熟练掌握Linux环境下的软件开发工作。" 本书分为多个章节,分别涵盖了Linux的历史、开发工具链、可移植性、软件配置管理、网络编程、数据库、内核开发、内核接口、Linux内核模块、调试技术和GNOME开发平台等内容。 在第一章“与Linux一起工作”中,作者介绍了Linux的起源,包括GNU项目和Linux内核的发展,以及不同Linux发行版的选择和安装过程。此外,还讨论了自由软件与开源软件的区别,以及Linux社区的重要角色,如用户组、邮件列表、IRC和私有社区。 第二章“工具链”中,讲解了Linux开发流程,包括如何处理源代码、配置本地环境、构建源码。同时,详细阐述了GNU工具链的组件,如GCC编译器集合、GNU binutils、GNU Make和GNU Debugger,并涉及内联汇编、属性标签、定制链接脚本以及交叉编译。 第三章“可移植性”强调了软件跨平台的重要性,探讨了Linux的可移植性,抽象层的概念,以及在不同Linux发行版之间构建包的方法。还涉及了源代码的可移植性、国际化和硬件兼容性问题。 第四章“软件配置管理”(SCM)对比了集中式和分布式开发,介绍了CVS、Subversion、Bazaar-NG和Git等版本控制系统,并提到了Eclipse等集成SCM工具。 第五章“网络编程”主要讨论了Linux下的套接字编程,包括面向连接和无连接的套接字,数据传输,以及使用如libCurl这样的网络编程库。 第六章“数据库”讲解了持久化数据存储,包括标准文件和数据库的使用,如Berkeley DB和PostgreSQL数据库服务器的下载、安装和程序构建。 第七章“内核开发”介绍了内核的基本概念和警告,如任务抽象、虚拟内存,以及内核黑客技术、加载模块和内核开发流程。 第八章“内核接口”阐述了内核接口的重要性,包括系统调用、设备文件抽象、内核事件以及内部和外部接口。 第九章“Linux内核模块”讨论了模块的工作原理,编写模块的注意事项,如文档查找、内核手册页,以及模块的内存分配、锁定机制和工作队列。 第十章“调试”提供了调试概述,包括内存管理、基本调试工具(如GDB和Valgrind)、图形调试工具(如DDD和Eclipse),以及内核调试技巧。 第十一章“GNOME开发者平台”介绍了GNOME的库,如Glib、GObject、Cairo、GDK、Pango、GTK+、libglade、GConf和GStreamer,以及如何构建一个音乐播放器。 此书是Linux开发者深入了解和实践Linux编程的宝贵资源,覆盖了从基础到高级的各种主题,适合有志于在Linux环境中进行软件开发的读者。