当前位置:首页 > 工业技术
Linux高级程序设计
Linux高级程序设计

Linux高级程序设计PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:(英)美斯特(Masters,J.),(美)布卢(Blum,R.)著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:7115179107
  • 页数:390 页
图书介绍:本书主要分为四个部分,讲解了Linux程序员需要掌握的关键知识点,包括:Linux的基本工作组件、Linux内核、Linux桌面、Linux与Web。有效的示例能帮助读者在基于Linux的系统中快速地开发和部署应用程序,大量实用工具的使用能大大简化软件开发的流程。本书还讨论了使用仿真和虚拟技术来进行内核开发和应用程序测试。书中包括大量有益的见解,目的是帮助读者理解如何能使他们的应用程序代码能最好地装配到软件栈中。最后,还包括GNOME桌面中的交叉编译、动态设备的插入和移除、关键的Linux项目(如Utopia)、国际化等技术。
《Linux高级程序设计》目录

第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 BazaarNG 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 I ibCurl函数库 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 Vgrind 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 DBUS:桌面总线 300

12.1.1什么是DBus 300

12.1.2 DBus基础 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

相关图书
作者其它书籍
返回顶部