内容介绍
《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 IRC 1.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和objdump 2.4 GNU Make 2.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 CVS 4.3.2 Subversion 4.4 分散式工具 4.4.1 Bazaar-NG 4.4.2 Linux内核SCM 4.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 内核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.1 GNU调试器 10.2.2 Valgrind 10.3 图形化调试工具 10.3.1 DDD 10.3.2 Eclipse 10.4 内核调试 10.4.1 不要惊慌! 10.4.2 理解oops 10.4.3 使用UML进行调试 10.4.4 一件轶事 10.4.5 关于内核调试器的注记 10.5 本章总结 第11章 GNOME开发者平台 11.1 GNOME函数库 11.1.1 Glib 11.1.2 GObject 11.1.3 Cairo 11.1.4 GDK 11.1.5 Pango 11.1.6 GTK+ 11.1.7 libglade 11.1.8 GConf 11.1.9 GStreamer 11.2 建立一个音乐播放器 11.2.1 需求 11.2.2 开始:主窗口 11.2.3 建立GUI 11.3 本章总结 第12章 自由桌面项目 12.1 D-BUS:桌面总线 12.1.1 什么是D-Bus 12.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章 LAMP 14.1 什么是LAMP 14.1.1 Apache 14.1.2 MySQL 14.1.3 PHP 14.1.4 反叛平台 14.1.5 评价LAMP平台 14.2 Apache 14.2.1 虚拟主机 14.2.2 安装和配置PHP 5 14.2.3 Apache Basic认证 14.2.4 Apache与SSL 14.2.5 SSL与HTTP认证的整合 14.3 MySQL 14.3.1 安装MySQL 14.3.2 配置和启动数据库 14.3.3 修改默认密码 14.3.4 MySQL客户端接口 14.3.5 关系数据库 14.3.6 SQL 14.3.7 关系模型 14.4 PHP 14.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 数据库和PHP 14.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文件基本上每个人都在使用微信,但很少有人知道微信还有个借钱功能,叫微粒贷。由于借款方便,能够解很多人的燃眉之急,那么怎么提高微粒贷的额度呢?下面几个方法你可以试试。 首先
首先点击手机页面上的【捞月狗】,如下图所示。 然后登录自己的手机号,如下图所示。 进入软件以后点击【我】,如下图所示。 接着点击【申请陪玩大神】,如下图所示。 再选择适合
教程频道为您提供星露谷物语怎么找罗宾建水井 水井建造要求及消耗介绍解决方案,还有更多全面的星露谷物语软件教程手册,无论是新奇小软件的操作还是专业软件的使用技巧,教程都会为您解疑释惑。
黎明觉醒奥利雪山有哪些资源?奥利雪山是一个环境恶劣充满危险但是非常具有挑战性的一个地方,在雪山会有丰富的资源,很多喜欢挑战的玩家会前往雪山。那么黎明觉醒中奥利雪山的资
原神纯水精灵在哪里?在原神游戏中,纯水精灵是野外boss之一,也是目前最难打的怪物之一,很多玩家不知道这个怪物怎么打,也不知道纯水精灵的位置在哪里,下面就和小编一起来看看
拼多多现金的玩法大家是不是很熟知了,身边也有不少的人提现成功了,但也有不少卡在了最后的0.01,那这个最后一个0.01需要多少人助力完成呢?能不能提现成功呢?下面就和小编一起来
黎明觉醒载具有哪些?载具在游戏中可以当做玩家的代步攻击,也可以当做掩体来使用,载具的作用主要是根据载具的类型来决定的。那么黎明觉醒中载具的种类有哪些呢?还有很多小伙伴
IE浏览器是Windows电脑自带的浏览器,兼容性强,受到很多用户的喜欢,但是在使用的过程中难免会出现一些问题,比如就有用户发现自己的IE浏览器打不开网页了,这该如何解决?下面就让小编来给大家分析分析吧。
黎明觉醒25级副本怎么过?随着主线剧情的推进,会解锁更多的玩法,其中副本玩法是获得资源的主要玩法,每一级都有相对应的副本可以打。那么黎明觉醒25级的副本怎么过呢?还有很多
黎明觉醒如何钓鱼?钓鱼是一种休闲的玩法,玩家可以通过钓鱼获取鱼类食材,烹饪成食物之后可以食用增加生命值,而钓鱼本身也是一种很有乐趣的玩法。那么黎明觉醒钓鱼的方法是什么