
内容介绍
《linux高级程序设计》是Linux 程序设计领域的一部力作,讲解了大量程序员需要掌握的关键知识点,包括Linux 开发中的基本工具、Linux 系统编程、Linux 桌面开发以及Linux 与Web 开发。书中包括大量有益的经验之谈和富于启发的示例。本书主要针对已有一定Linux 开发经验或者从其他平台转到Linux 平台的专业程序员,同样也适合想更多了解系统以解决实际问题的Linux 使用者。
章节目录
第1章 Linux简介1.1 Linux发展简史1.1.1 GNU项目1.1.2 Linux内核1.1.3 Linux发行版1.1.4 自由软件与开放源码1.2 开发起步1.2.1 选择一个Linux发行版1.2.2 安装Linux发行版1.2.3 沙盒和虚拟化技术1.3 Linux社区1.3.1 Linux用户组1.3.2 邮件列表1.3.3 IRC1.3.4 私有社区1.4 关键差别1.4.1 Linux是模块化的1.4.2 Linux是可移植的1.4.3 Linux是通用的1.5 本章总结第2章 工具链2.1 Linux开发过程2.1.1 使用源代码2.1.2 配置本地环境2.1.3 编译源代码2.2 GNU工具链的组成2.3 GNU二进制工具集2.3.1 GNU汇编器2.3.2 GNU连接器2.3.3 GNU objcopy和objdump2.4 GNU Make2.5 GNU调试器2.6 Linux内核和GNU工具链2.6.1 内联汇编2.6.2 属性标记2.6.3 定制连接器脚本2.7 交叉编译2.8 建立GNU工具链2.9 本章总结第3章 可移植性3.1 可移植性的需要3.2 Linux的可移植性3.2.1 抽象层3.2.2 Linux发行版3.2.3 建立软件包3.2.4 可移植的源代码3.3 硬件可移植性3.3.1 位兼容3.3.2 字节序中立3.3.3 字节序的门派之争3.4 本章总结第4章 软件配置管理4.1 SCM的必要性4.2 集中式开发与分散式开发4.3 集中式工具4.3.1 CVS4.3.2 Subversion4.4 分散式工具4.4.1 Bazaar-NG4.4.2 Linux内核SCM4.5 集成化SCM工具4.6 本章总结第5章 网络编程5.1 Linux套接字编程5.1.1 套接字5.1.2 网络地址5.1.3 使用面向连接的套接字5.1.4 使用无连接套接字5.2 传输数据5.2.1 数据报与字节流5.2.2 标记消息边界5.3 使用网络编程函数库5.3.1 libCurl函数库5.3.2 使用libCurl库5.4 本章总结第6章 数据库6.1 持久性数据存储6.1.1 使用标准文件6.1.2 使用数据库6.2 Berkeley DB软件包6.2.1 下载和安装6.2.2 编译程序6.2.3 基本数据处理6.3 PostgreSQL数据库服务器6.3.1 下载和安装6.3.2 编译程序6.3.3 创建一个应用程序数据库6.3.4 连接服务器6.3.5 执行SQL命令6.3.6 使用参数6.4 本章总结第7章 内核开发7.1 基本知识7.1.1 背景先决条件7.1.2 内核源代码7.1.3 配置内核7.1.4 编译内核7.1.5 已编译好的内核7.1.6 测试内核7.1.7 包装和安装内核7.2 内核概念7.2.1 一句警告7.2.2 任务抽象7.2.3 虚拟内存7.2.4 不要恐慌7.3 内核编程7.4 内核开发过程7.4.1 git: 傻瓜内容跟踪器7.4.2 Linux内核邮件列表7.4.3 “mm”开发树7.4.4 稳定内核小组7.4.5 LWN:Linux每周新闻7.5 本章总结第8章 内核接口8.1 什么是接口8.2 外部内核接口8.2.1 系统调用8.2.2 设备文件抽象8.2.3 内核事件8.2.4 忽略内核保护8.3 内部内核接口8.3.1 内核API8.3.2 内核ABI8.4 本章总结第9章 Linux内核模块9.1 模块工作原理9.1.1 扩展内核命名空间9.1.2 没有对模块兼容性的保证9.2 找到好的文档9.3 编写Linux内核模块9.3.1 开始之前9.3.2 基本模块需求9.3.3 日志记录9.3.4 输出的符号9.3.5 分配内存9.3.6 锁的考虑9.3.7 推迟工作9.3.8 进一步阅读9.4 分发Linux内核模块9.4.1 进入上游Linux内核9.4.2 发行源代码9.4.3 发行预编译模块9.5 本章总结第10章 调试10.1 调试概述10.2 基本调试工具10.2.1 GNU调试器10.2.2 Valgrind10.3 图形化调试工具10.3.1 DDD10.3.2 Eclipse10.4 内核调试10.4.1 不要惊慌!10.4.2 理解oops10.4.3 使用UML进行调试10.4.4 一件轶事10.4.5 关于内核调试器的注记10.5 本章总结第11章 GNOME开发者平台11.1 GNOME函数库11.1.1 Glib11.1.2 GObject11.1.3 Cairo11.1.4 GDK11.1.5 Pango11.1.6 GTK+11.1.7 libglade11.1.8 GConf11.1.9 GStreamer11.2 建立一个音乐播放器11.2.1 需求11.2.2 开始:主窗口11.2.3 建立GUI11.3 本章总结第12章 自由桌面项目12.1 D-BUS:桌面总线12.1.1 什么是D-Bus12.1.2 D-Bus基础12.1.3 D-Bus方法12.2 硬件抽象层12.2.1 使硬件可以即插即用12.2.2 HAL设备对象12.3 网络管理器12.4 其他自由桌面项目12.5 本章总结第13章 图形和音频13.1 Linux和图形13.1.1 X视窗13.1.2 开放式图形库13.1.3 OpenGL应用工具包13.1.4 简单直接媒介层13.2 编写OpenGL应用程序13.2.1 下载和安装13.2.2 编程环境13.2.3 使用GLUT库13.3 编写SDL应用程序13.3.1 下载和安装13.3.2 编程环境13.3.3 使用SDL库13.4 本章总结第14章 LAMP14.1 什么是LAMP14.1.1 Apache14.1.2 MySQL14.1.3 PHP14.1.4 反叛平台14.1.5 评价LAMP平台14.2 Apache14.2.1 虚拟主机14.2.2 安装和配置PHP 514.2.3 Apache Basic认证14.2.4 Apache与SSL14.2.5 SSL与HTTP认证的整合14.3 MySQL14.3.1 安装MySQL14.3.2 配置和启动数据库14.3.3 修改默认密码14.3.4 MySQL客户端接口14.3.5 关系数据库14.3.6 SQL14.3.7 关系模型14.4 PHP14.4.1 PHP语言14.4.2 错误处理14.4.3 异常错误处理14.4.4 优化技巧14.4.5 安装额外的PHP软件14.4.6 日志记录14.4.7 参数处理14.4.8 会话处理14.4.9 单元测试14.4.10 数据库和PHP14.4.11 PHP框架14.5 DVD库14.5.1 版本1:开发者的噩梦14.5.2 版本2:使用DB数据层的基本应用程序14.5.3 版本3:重写数据层,添加日志记录和异常14.5.4 版本4:应用模板框架14.6 本章总结
使用说明
1、下载并解压,得出pdf文件2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读试读>
下载仅供下载体验和测试学习,不得商用和正当使用。
下载体验