Linux高级程序设计

Linux高级程序设计
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [英] , [美] ,
2008-07
版次: 1
ISBN: 9787115179104
定价: 59.00
装帧: 平装
开本: 大16开
纸张: 胶版纸
页数: 390页
字数: 660千字
正文语种: 简体中文
原版书名: Professional Linux Programming
49人买过
  •   本书是Linux程序设计领域的一部力作,讲解了大量程序员需要掌握的关键知识点,包括Linux开发中的基本工具、Linux系统编程、Linux桌面开发以及Linux与Web开发。书中包括大量有益的经验之谈和富于启发的示例。
      本书主要针对已有一定Linux开发经验或者从其他平台转到Linux平台的专业程序员,同样也适合想更多了解系统以解决实际问题的Linux使用者。   JonMasters,著名Linux内核工程师。目前效力于RedHat公司。13岁取得计算机科学学士学位,创造了英国记录。他精通Linux内核引擎、Unix系统管理、基于Linux的嵌入式系统开发,而且在网络、安全等领域也颇有造诣。目前正在负责维护Module—init—tools—Linux官方的一个工具包,包含所有与Linux内核交互的工具。他还是LinuxUser&Developer、LinuxMagazine等著名杂志的专栏作家。
      RichardBlum,毕业于美国普度大学电气工程专业,资深程序员。精通多种编程语言。除本书外,他还著有ProfessionalAssemblyLanguage等经典著作,深受读者好评。 第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与Web开发。书中包括大量有益的经验之谈和富于启发的示例。
      本书主要针对已有一定Linux开发经验或者从其他平台转到Linux平台的专业程序员,同样也适合想更多了解系统以解决实际问题的Linux使用者。
  • 作者简介:
      JonMasters,著名Linux内核工程师。目前效力于RedHat公司。13岁取得计算机科学学士学位,创造了英国记录。他精通Linux内核引擎、Unix系统管理、基于Linux的嵌入式系统开发,而且在网络、安全等领域也颇有造诣。目前正在负责维护Module—init—tools—Linux官方的一个工具包,包含所有与Linux内核交互的工具。他还是LinuxUser&Developer、LinuxMagazine等著名杂志的专栏作家。
      RichardBlum,毕业于美国普度大学电气工程专业,资深程序员。精通多种编程语言。除本书外,他还著有ProfessionalAssemblyLanguage等经典著作,深受读者好评。
  • 目录:
    第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本章总结
查看详情
其他版本 / 全部 (1)
系列丛书 / 更多
Linux高级程序设计
机器学习实战
[美]Peter Harrington 著;李锐、李鹏、曲亚东 译
Linux高级程序设计
图灵程序设计丛书:Python基础教程
[挪威]Magnus Lie Hetland 著;司维、曾军崴、谭颖华 译
Linux高级程序设计
JavaScript高级程序设计(第3版)
[美]Nicholas C.Zakas 著;李松峰、曹力 译
Linux高级程序设计
Python编程:从入门到实践
[美]埃里克·马瑟斯(Eric Matthes) 著;袁国忠 译
Linux高级程序设计
R语言实战(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著;王小宁、刘撷芯、黄俊文 译
Linux高级程序设计
算法(第4版)
[美]Robert、[美]Kevin Wayne 著;谢路云 译
Linux高级程序设计
大数据:互联网大规模数据挖掘与分布式处理
[美]Anand、[美]Jeffrey David Ullman 著;王斌 译
Linux高级程序设计
Spark快速大数据分析
[美]卡劳(Holden Karau)、[美]肯维尼斯科(Andy Konwinski)、[美]温德尔(Patrick Wendell)、[加拿大]扎哈里亚(Matei Zaharia) 著;王道远 译
Linux高级程序设计
MySQL必知必会
[英]福塔(Ben Forta) 著;刘晓霞、钟鸣 译
Linux高级程序设计
Objective-C基础教程 第2版
[美]Scott、[美]Waqar、[美]Mark Dalrymple 著;周庆成 译
Linux高级程序设计
图解HTTP
[日]上野·宣 著;于均良 译
Linux高级程序设计
算法图解
袁国忠 译
相关图书 / 更多
Linux高级程序设计
LiteOS轻量级物联网操作系统实战 微课视频版
魏杰
Linux高级程序设计
Linux综合实训案例教程
陈智斌;梁鹏;肖政宏
Linux高级程序设计
Linux操作系统项目化教程
周秀丽;张徐超;周密
Linux高级程序设计
Linux操作系统
刘睿;包大宏;兰晓天;李吉桃;王仕杰;吴晓清;张宏洲;杨云江
Linux高级程序设计
Linux C语言程序设计(微课视频版)
张同光;田文强;荆春棋;田乔梅;陈明
Linux高级程序设计
Linux虚拟化——原理、方法和实战(KVM+Docker+OpenStack)
吴光科;李建尧;柯宇霖
Linux高级程序设计
Linux源码趣读
闪客
Linux高级程序设计
Linux自动化运维实战(Linux开发书系)
吴光科;彭威城;文·S
Linux高级程序设计
Linux云计算——Kubernetes实战
吴光科;程浩;刑亚飞
Linux高级程序设计
Linux运维从入门到精通
明日科技
Linux高级程序设计
Linux操作系统项目化教程(第2版)
洪伟 主编;丁传炜 谢鹏 副主编
Linux高级程序设计
Linux企业高性能架构实战
吴光科;曹森;赵瑞丰
您可能感兴趣 / 更多
Linux高级程序设计
最后一个人(《时代》杂志评其为“十大后世界末日小说”之一)
[英]玛丽·雪莱 著;新华先锋 出品
Linux高级程序设计
不能赢的辩护【当当定制“检方证物线索卡*5】金匕首奖得主史蒂夫·卡瓦纳推理神作
[英]史蒂夫·卡瓦纳 著;酷威文化 出品
Linux高级程序设计
谢林与现代欧洲哲学
[英]安德鲁·鲍伊
Linux高级程序设计
科普勒斯顿阿哲学史11
[英]弗雷德里克·科普勒斯顿 后浪
Linux高级程序设计
构建底层逻辑(用底层逻辑武装大脑,实现思维能力的跃升)
[英]艾萨克·瓦茨 译者;卢东民
Linux高级程序设计
哈利·波特 一段魔法史
[英]大英图书馆 编;向寻 冬翌 译
Linux高级程序设计
管教的常识:直面孩子成长的88个问题
[英]苏珊·伊莎克丝 译者;李江艳
Linux高级程序设计
卢梭与德国观念论:自由、依赖和必然
[英]大卫·詹姆斯(David James) 著;吴珊珊 译
Linux高级程序设计
点读版恐龙妙想国 动物妙想国系列全4册 3-6岁儿童趣味科普绘本爆笑动物认知启蒙图画书三角龙梁龙剑龙霸王龙恐龙科普故事幼儿园想象力绘本睡前故事书
[英]露丝·西蒙斯/著 (英)阿列克谢·彼特斯科夫/绘 邢培健 译
Linux高级程序设计
凤凰文库设计理论研究系列-杜威与设计:实用主义的设计视角研究
[英]布莱恩·S.迪克森 著;王成思 译;汪星宇
Linux高级程序设计
钢琴技巧实践
[英]默里·麦克拉克伦(Murray McLachlan) 著;孙晓雪 译
Linux高级程序设计
野蔷薇村的故事(全8册):40周年官方特别纪念版
[英]吉尔·巴克莲 著;[中]马爱农 译