注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络操作系统LinuxLinux高级程序设计

Linux高级程序设计

Linux高级程序设计

定 价:¥59.00

作 者: (英国)Richard Blum,Jon Masters 著;陈健 译
出版社: 人民邮电出版社
丛编项: 图灵程序设计丛书
标 签: LINUX

购买这本书可以去


ISBN: 9787115179104 出版时间: 2008-01-01 包装: 平装
开本: 16 页数: 390 字数:  

内容简介

  本书是Linux 程序设计领域的一部力作,讲解了大量程序员需要掌握的关键知识点,包括Linux 开发中的基本工具、Linux 系统编程、Linux 桌面开发以及Linux 与Web 开发。书中包括大量有益的经验之谈和富于启发的示例。本书主要针对已有一定Linux 开发经验或者从其他平台转到Linux 平台的专业程序员,同样也适合想更多了解系统以解决实际问题的Linux 使用者。

作者简介

  Jon Masters,著名Linux内核工程师。目前效力于Red Hat公司。13岁取得计算机科学学士学位,创造了英国记录。他精通Linux内核引擎、Unix系统管理、基于Linux的嵌入式系统开发,而且在网络、安全等领域也颇有造诣。目前正在负责维护Module—init—tools—Linux官方的一个工具包,包含所有与Linux内核交互的工具。他还是Linux User&Developer、Linux Magazine等著名杂志的专栏作家。Richard Blum,毕业于美国普度大学电气工程专业,资深程序员。精通多种编程语言。除本书外,他还著有Professional Assembly Language等经典著作,深受读者好评。

图书目录

第1章 Linux简介 1
1.1 Linux发展简史 1
1.1.1 GNU项目 2
1.1.2 Linux内核 2
1.1.3 Linux发行版 3
1.1.4 自由软件与开放源码 4
1.2 开发起步 5
1.2.1 选择一个Linux发行版 5
1.2.2 安装Linux发行版 7
1.2.3 沙盒和虚拟化技术 13
1.3 Linux社区 13
1.3.1 Linux用户组 14
1.3.2 邮件列表 14
1.3.3 IRC 14
1.3.4 私有社区 14
1.4 关键差别 15
1.4.1 Linux是模块化的 15
1.4.2 Linux是可移植的 15
1.4.3 Linux是通用的 15
1.5 本章总结 16
第2章 工具链 17
2.1 Linux开发过程 17
2.1.1 使用源代码 18
2.1.2 配置本地环境 18
2.1.3 编译源代码 19
2.2 GNU工具链的组成 20
2.3 GNU二进制工具集 29
2.3.1 GNU汇编器 29
2.3.2 GNU连接器 30
2.3.3 GNU objcopy和objdump 31
2.4 GNU Make 33
2.5 GNU调试器 34
2.6 Linux内核和GNU工具链 37
2.6.1 内联汇编 37
2.6.2 属性标记 38
2.6.3 定制连接器脚本 38
2.7 交叉编译 39
2.8 建立GNU工具链 40
2.9 本章总结 41
第3章 可移植性 42
3.1 可移植性的需要 42
3.2 Linux的可移植性 44
3.2.1 抽象层 44
3.2.2 Linux发行版 45
3.2.3 建立软件包 49
3.2.4 可移植的源代码 61
3.3 硬件可移植性 78
3.3.1 64位兼容 78
3.3.2 字节序中立 79
3.3.3 字节序的门派之争 81
3.4 本章总结 81
第4章 软件配置管理 83
4.1 SCM的必要性 83
4.2 集中式开发与分散式开发 84
4.3 集中式工具 85
4.3.1 CVS 85
4.3.2 Subversion 93
4.4 分散式工具 96
4.4.1 Bazaar-NG 96
4.4.2 Linux内核SCM 99
4.5 集成化SCM工具 102
4.6 本章总结 104
第5章 网络编程 105
5.1 Linux套接字编程 105
5.1.1 套接字 105
5.1.2 网络地址 107
5.1.3 使用面向连接的套接字 108
5.1.4 使用无连接套接字 114
5.2 传输数据 117
5.2.1 数据报与字节流 117
5.2.2 标记消息边界 121
5.3 使用网络编程函数库 123
5.3.1 libCurl函数库 123
5.3.2 使用libCurl库 124
5.4 本章总结 129
第6章 数据库 130
6.1 持久性数据存储 130
6.1.1 使用标准文件 130
6.1.2 使用数据库 131
6.2 Berkeley DB软件包 133
6.2.1 下载和安装 133
6.2.2 编译程序 134
6.2.3 基本数据处理 134
6.3 PostgreSQL数据库服务器 143
6.3.1 下载和安装 144
6.3.2 编译程序 145
6.3.3 创建一个应用程序数据库 145
6.3.4 连接服务器 147
6.3.5 执行SQL命令 150
6.3.6 使用参数 157
6.4 本章总结 160
第7章 内核开发 161
7.1 基本知识 161
7.1.1 背景先决条件 161
7.1.2 内核源代码 162
7.1.3 配置内核 165
7.1.4 编译内核 168
7.1.5 已编译好的内核 171
7.1.6 测试内核 172
7.1.7 包装和安装内核 174
7.2 内核概念 174
7.2.1 一句警告 175
7.2.2 任务抽象 175
7.2.3 虚拟内存 179
7.2.4 不要恐慌 182
7.3 内核编程 182
7.4 内核开发过程 185
7.4.1 git: 傻瓜内容跟踪器 185
7.4.2 Linux内核邮件列表 187
7.4.3 “mm”开发树 189
7.4.4 稳定内核小组 189
7.4.5 LWN:Linux每周新闻 189
7.5 本章总结 190
第8章 内核接口 191
8.1 什么是接口 191
8.2 外部内核接口 192
8.2.1 系统调用 193
8.2.2 设备文件抽象 197
8.2.3 内核事件 210
8.2.4 忽略内核保护 211
8.3 内部内核接口 215
8.3.1 内核API 215
8.3.2 内核ABI 216
8.4 本章总结 217
第9章 Linux内核模块 218
9.1 模块工作原理 218
9.1.1 扩展内核命名空间 220
9.1.2 没有对模块兼容性的保证 221
9.2 找到好的文档 221
9.3 编写Linux内核模块 223
9.3.1 开始之前 223
9.3.2 基本模块需求 223
9.3.3 日志记录 226
9.3.4 输出的符号 227
9.3.5 分配内存 228
9.3.6 锁的考虑 236
9.3.7 推迟工作 243
9.3.8 进一步阅读 251
9.4 分发Linux内核模块 252
9.4.1 进入上游Linux内核 252
9.4.2 发行源代码 252
9.4.3 发行预编译模块 253
9.5 本章总结 253
第10章 调试 254
10.1 调试概述 254
10.2 基本调试工具 255
10.2.1 GNU调试器 255
10.2.2 Valgrind 263
10.3 图形化调试工具 264
10.3.1 DDD 264
10.3.2 Eclipse 267
10.4 内核调试 269
10.4.1 不要惊慌! 269
10.4.2 理解oops 270
10.4.3 使用UML进行调试 272
10.4.4 一件轶事 275
10.4.5 关于内核调试器的注记 276
10.5 本章总结 276
第11章 GNOME开发者平台 277
11.1 GNOME函数库 277
11.1.1 Glib 277
11.1.2 GObject 277
11.1.3 Cairo 278
11.1.4 GDK 278
11.1.5 Pango 278
11.1.6 GTK+ 278
11.1.7 libglade 279
11.1.8 GConf 279
11.1.9 GStreamer 279
11.2 建立一个音乐播放器 280
11.2.1 需求 280
11.2.2 开始:主窗口 280
11.2.3 建立GUI 282
11.3 本章总结 299
第12章 自由桌面项目 300
12.1 D-BUS:桌面总线 300
12.1.1 什么是D-Bus 300
12.1.2 D-Bus基础 301
12.1.3 D-Bus方法 304
12.2 硬件抽象层 308
12.2.1 使硬件可以即插即用 308
12.2.2 HAL设备对象 311
12.3 网络管理器 316
12.4 其他自由桌面项目 317
12.5 本章总结 318
第13章 图形和音频 319
13.1 Linux和图形 319
13.1.1 X视窗 319
13.1.2 开放式图形库 321
13.1.3 OpenGL应用工具包 321
13.1.4 简单直接媒介层 322
13.2 编写OpenGL应用程序 322
13.2.1 下载和安装 323
13.2.2 编程环境 323
13.2.3 使用GLUT库 324
13.3 编写SDL应用程序 336
13.3.1 下载和安装 336
13.3.2 编程环境 337
13.3.3 使用SDL库 337
13.4 本章总结 347
第14章 LAMP 348
14.1 什么是LAMP 348
14.1.1 Apache 349
14.1.2 MySQL 349
14.1.3 PHP 349
14.1.4 反叛平台 350
14.1.5 评价LAMP平台 350
14.2 Apache 351
14.2.1 虚拟主机 352
14.2.2 安装和配置PHP 5 353
14.2.3 Apache Basic认证 353
14.2.4 Apache与SSL 354
14.2.5 SSL与HTTP认证的整合 355
14.3 MySQL 355
14.3.1 安装MySQL 355
14.3.2 配置和启动数据库 356
14.3.3 修改默认密码 356
14.3.4 MySQL客户端接口 356
14.3.5 关系数据库 357
14.3.6 SQL 357
14.3.7 关系模型 359
14.4 PHP 362
14.4.1 PHP语言 362
14.4.2 错误处理 369
14.4.3 异常错误处理 370
14.4.4 优化技巧 371
14.4.5 安装额外的PHP软件 375
14.4.6 日志记录 376
14.4.7 参数处理 377
14.4.8 会话处理 378
14.4.9 单元测试 378
14.4.10 数据库和PHP 380
14.4.11 PHP框架 380
14.5 DVD库 381
14.5.1 版本1:开发者的噩梦 381
14.5.2 版本2:使用DB数据层的基本应用程序 382
14.5.3 版本3:重写数据层,添加日志记录和异常 385
14.5.4 版本4:应用模板框架 388
14.6 本章总结 390

本目录推荐