Linux高级程序设计

Linux高级程序设计

(英) 美斯特 (Masters,J.) , (美) 布卢 (Blum,R.) , 著

出版社:人民邮电出版社

年代:2008

定价:59.0

书籍简介:

本书主要分为四个部分,讲解了Linux程序员需要掌握的关键知识点,包括:Linux的基本工作组件、Linux内核、Linux桌面、Linux与Web。有效的示例能帮助读者在基于Linux的系统中快速地开发和部署应用程序,大量实用工具的使用能大大简化软件开发的流程。本书还讨论了使用仿真和虚拟技术来进行内核开发和应用程序测试。书中包括大量有益的见解,目的是帮助读者理解如何能使他们的应用程序代码能最好地装配到软件栈中。最后,还包括GNOME桌面中的交叉编译、动态设备的插入和移除、关键的Linux项目(如Utopia)、国际化等技术。

书籍目录:

第1章Linux简介

1.1Linux发展简史

1.1.1GNU项目

1.1.2Linux内核

1.1.3Linux发行版

1.1.4自由软件与开放源码

1.2开发起步

1.2.1选择一个Linux发行版

1.2.2安装Linux发行版

1.2.3沙盒和虚拟化技术

1.3Linux社区

1.3.1Linux用户组

1.3.2邮件列表

1.3.3IRC

1.3.4私有社区

1.4关键差别

1.4.1Linux是模块化的

1.4.2Linux是可移植的

1.4.3Linux是通用的

1.5本章总结

第2章工具链

2.1Linux开发过程

2.1.1使用源代码

2.1.2配置本地环境

2.1.3编译源代码

2.2GNU工具链的组成

2.3GNU二进制工具集

2.3.1GNU汇编器

2.3.2GNU连接器

2.3.3GNUobjcopy和objdump

2.4GNUMake

2.5GNU调试器

2.6Linux内核和GNU工具链

2.6.1内联汇编

2.6.2属性标记

2.6.3定制连接器脚本

2.7交叉编译

2.8建立GNU工具链

2.9本章总结

第3章可移植性

3.1可移植性的需要

3.2Linux的可移植性

3.2.1抽象层

3.2.2Linux发行版

3.2.3建立软件包

3.2.4可移植的源代码

3.3硬件可移植性

3.3.1位兼容

3.3.2字节序中立

3.3.3字节序的门派之争

3.4本章总结

第4章软件配置管理

4.1SCM的必要性

4.2集中式开发与分散式开发

4.3集中式工具

4.3.1CVS

4.3.2Subversion

4.4分散式工具

4.4.1Bazaar-NG

4.4.2Linux内核SCM

4.5集成化SCM工具

4.6本章总结

第5章网络编程

5.1Linux套接字编程

5.1.1套接字

5.1.2网络地址

5.1.3使用面向连接的套接字

5.1.4使用无连接套接字

5.2传输数据

5.2.1数据报与字节流

5.2.2标记消息边界

5.3使用网络编程函数库

5.3.1libCurl函数库

5.3.2使用libCurl库

5.4本章总结

第6章数据库

6.1持久性数据存储

6.1.1使用标准文件

6.1.2使用数据库

6.2BerkeleyDB软件包

6.2.1下载和安装

6.2.2编译程序

6.2.3基本数据处理

6.3PostgreSQL数据库服务器

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.1git:傻瓜内容跟踪器

7.4.2Linux内核邮件列表

7.4.3“mm”开发树

7.4.4稳定内核小组

7.4.5LWN: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内核API

8.3.2内核ABI

8.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.1GNU调试器

10.2.2Valgrind

10.3图形化调试工具

10.3.1DDD

10.3.2Eclipse

10.4内核调试

10.4.1不要惊慌!

10.4.2理解oops

10.4.3使用UML进行调试

10.4.4一件轶事

10.4.5关于内核调试器的注记

10.5本章总结

第11章GNOME开发者平台

11.1GNOME函数库

11.1.1Glib

11.1.2GObject

11.1.3Cairo

11.1.4GDK

11.1.5Pango

11.1.6GTK+

11.1.7libglade

11.1.8GConf

11.1.9GStreamer

11.2建立一个音乐播放器

11.2.1需求

11.2.2开始:主窗口

11.2.3建立GUI

11.3本章总结

第12章自由桌面项目

12.1D-BUS:桌面总线

12.1.1什么是D-Bus

12.1.2D-Bus基础

12.1.3D-Bus方法

12.2硬件抽象层

12.2.1使硬件可以即插即用

12.2.2HAL设备对象

12.3网络管理器

12.4其他自由桌面项目

12.5本章总结

第13章图形和音频

13.1Linux和图形

13.1.1X视窗

13.1.2开放式图形库

13.1.3OpenGL应用工具包

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章LAMP

14.1什么是LAMP

14.1.1Apache

14.1.2MySQL

14.1.3PHP

14.1.4反叛平台

14.1.5评价LAMP平台

14.2Apache

14.2.1虚拟主机

14.2.2安装和配置PHP5

14.2.3ApacheBasic认证

14.2.4Apache与SSL

14.2.5SSL与HTTP认证的整合

14.3MySQL

14.3.1安装MySQL

14.3.2配置和启动数据库

14.3.3修改默认密码

14.3.4MySQL客户端接口

14.3.5关系数据库

14.3.6SQL

14.3.7关系模型

14.4PHP

14.4.1PHP语言

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数据库和PHP

14.4.11PHP框架

14.5DVD库

14.5.1版本1:开发者的噩梦

14.5.2版本2:使用DB数据层的基本应用程序

14.5.3版本3:重写数据层,添加日志记录和异常

14.5.4版本4:应用模板框架

14.6本章总结

内容摘要:

  本书是Linux程序设计领域内的经典著作。涵盖了各种常用的和最重要的Linux程序设计的技术和方法。书中蕴含了作者的宝贵经验。提供了大量的最佳实践。无论你是有开发经验的Linux程序员。还是从其他平台转至Linux上的专业开发者。都能通过本书学到最新的Linux平台开发技术。迅速成为现代Linux程序员。  本书是Linux程序设计领域的一部力作,讲解了大量程序员需要掌握的关键知识点,包括Linux开发中的基本工具、Linux系统编程、Linux桌面开发以及Linux与Web开发。书中包括大量有益的经验之谈和富于启发的示例。  本书主要针对已有一定Linux开发经验或者从其他平台转到Linux平台的专业程序员,同样也适合想更多了解系统以解决实际问题的Linux使用者。

书籍规格:

书籍详细信息
书名Linux高级程序设计站内查询相似图书
丛书名图灵程序设计丛书
9787115179104
如需购买下载《Linux高级程序设计》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位人民邮电出版社
版次1版印次1
定价(元)59.0语种简体中文
尺寸26装帧平装
页数 202 印数

书籍信息归属:

Linux高级程序设计是人民邮电出版社于2008.05出版的中图分类号为 TP316.89 的主题关于 Linux操作系统-程序设计 的书籍。