扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

Linux环境编程图文指南-(配视频教程)-(含DVD光盘1张)

综合评级:
★★★★★

定价:
¥99.00

作者:
林世霖

出版社:
电子工业

出版日期:
2016/04/01

页数:
514

ISBN:
9787121280757

书籍介绍

本书从零开始,循序渐进地攻破Linux环境编程所遇到的各级关卡,以图文并茂的形式帮助读者理解各个概念。

本书内容翔实,囊括了Linux系统操作细节,Shell脚本编程精要,各种编程环境所需要解决的技术难点,以及在Linux环境下的C语言编程技术、并发编程技术和音/视频编程等核心内容。

全书用近400幅图表帮助读者理解复杂概念,因此读者不需要具备任何计算机编程经验,在本书的指导下就能进入编程的世界,并能在阅读和实践中享受编程的乐趣。

同时,本书配套完整的视频教程,给读者以最直观、最容易吸收知识的方式,融会贯通书中所有的知识点。

不仅如此,读者还能够得到作者及其团队的在线技术支援和答疑。

作者简介

林世霖,国内C编程专家,粤嵌*受欢迎培训师和演讲家,金牌讲师,资深嵌入式Linux研发工程师。目前主要致力于Linux应用软件及系统开发和研究,十余年嵌入式系统软件开发经验。而且精通数据结构算法与实现,以及SCO系统下shell编程与系统编程,有丰富的银行交易系统开发经验。同时具有娴熟的授课技巧和成体系化的教学经验,上课风格多样化,善于并乐于传播IT技术,热衷于教育行业,常常与学生打成一片。

目录

第1章 Linux编程环境 1

1.1 基本工具 1

1.1.1 免费大餐:Ubuntu 1

1.1.2 桌面系统:gnome 6

1.1.3 网络配置:纯手工打造 6

1.1.4 软件集散地:APT 8

1.1.5 无敌板斧:vi 10

1.1.6 开发圣典:man 13

1.1.7 配置共享目录 15

1.2 Shell命令 17

1.2.1 概念扫盲 17

1.2.2 命令详解 19

1.2.3 上古神器 38

1.3 Shell脚本编程 45

1.3.1 开场白 45

1.3.2 脚本格式 45

1.3.3 变量 46

1.3.4 特殊符号们 48

1.3.5 字符串处理 50

1.3.6 测试语句 51

1.3.7 脚本语法单元 52

1.4 编译器:GCC 55

1.4.1 简述 55

1.4.2 编译过程简介 55

1.4.3 实用的编译选项 58

1.5 解剖Makefile 59

1.5.1 工程管理器make 59

1.5.2 概览性示例 60

1.5.3 书写格式 60

1.5.4 变量详解 62

1.5.5 各种规则 71

1.5.6 条件判断 75

1.5.7 函数 77

1.5.8 实用make选项集锦 85

1.6 GNU-autotools 86

1.6.1 autotools简介 86

1.6.2 文件组织 87

1.6.3 configure.ac编写规则 88

第2章 深度Linux-C 92

2.1 基本要素 92

2.1.1 Linux下C代码规范 93

2.1.2 基本数据类型 97

2.1.3 运算符 108

2.1.4 控制流 116

2.2 函数 124

2.2.1 函数初体验 125

2.2.2 函数调用内幕 128

2.2.3 递归思维及其实现 130

2.2.4 变参函数 133

2.2.5 回调函数 137

2.2.6 内联函数 140

2.3 数组与指针 142

2.3.1 数组初阶 142

2.3.2 内存地址 144

2.3.3 指针初阶 145

2.3.4 复杂指针定义 147

2.3.5 指针运算 151

2.3.6 数组与指针 152

2.3.7 复杂数组剖析 155

2.3.8 const指针 158

2.3.9 char指针和char数组 160

2.4 内存管理 162

2.4.1 进程内存布局 162

2.4.2 堆(Heap) 164

2.5 组合数据类型 167

2.5.1 结构体 167

2.5.2 共用体 171

2.5.3 枚举 172

2.6 高级议题 173

2.6.1 工程代码组织 173

2.6.2 头文件 175

2.6.3 宏(macro) 176

2.6.4 条件编译 182

2.6.5 复杂声明 184

2.6.6 attribute机制 185

第3章 Linux的数据组织 188

3.1 无所不在的链表 188

3.1.1 开场白 188

3.1.2 单向链表 190

3.1.3 单向循环链表 198

3.1.4 双向循环链表 200

3.1.5 Linux内核链表 210

3.2 线性表变异体 227

3.2.1 堆叠的盘子:栈 227

3.2.2 文明的社会:队列 236

3.3 小白慎入:非线性结构 243

3.3.1 基本概念 243

3.3.2 玩转BST 247

3.3.3 各种的遍历算法 260

3.3.4 自平衡AVL树 263

3.3.5 自平衡Linux红黑树 273

第4章 I/O编程技术 289

4.1 一切皆文件 289

4.1.1 文件的概念 289

4.1.2 各类文件 290

4.2 文件操作 290

4.2.1 系统I/O 291

4.2.2 标准I/O 306

4.2.3 文件属性 320

4.3 目录检索 327

4.3.1 基本概念 327

4.3.2 相关API 328

4.4 触控屏应用接口 330

4.4.1 输入子系统简介 330

4.4.2 TSLIB库详解 333

4.4.3 划屏算法 338

第5章 Linux进程线程 345

5.1 Linux进程入门 345

5.1.1 进程概念 345

5.1.2 进程组织方式 346

5.2 进程的“生老病死” 348

5.2.1 进程状态 348

5.2.2 相关重要API 350

5.3 进程的语言 358

5.3.1 管道 358

5.3.2 信号 363

5.3.3 system-V IPC简介 380

5.3.4 消息队列(MSG) 381

5.3.5 共享内存(SHM) 387

5.3.6 信号量(SEM) 392

5.4 Linux线程入门 400

5.4.1 线程基本概念 400

5.4.2 线程API及特点 401

5.5 线程安全 410

5.5.1 POSIX信号量 410

5.5.2 互斥锁与读写锁 415

5.5.3 条件变量 418

5.5.4 可重入函数 421

5.6 线程池 422

5.6.1 实现原理 422

5.6.2 接口设计 423

5.6.3 实现源码 425

第6章 Linux音频、视频编程 433

6.1 基本背景 433

6.2 Linux音频 433

6.2.1 音频概念 433

6.2.2 标准音频接口ALSA 436

6.3 Linux视频输出 450

6.3.1 基本概念 450

6.3.2 framebuffer 452

6.3.3 在LCD上画图 462

6.3.4 效果算法 469

6.4 Linux视频输入 478

6.4.1 V4L2简介 478

6.4.2 V4L2视频采集流程 478

6.4.3 V4L2核心命令字和结构体 481

6.4.4 编码格式和媒体流 484

6.5 多媒体开发库SDL 489

6.5.1 SDL简介 489

6.5.2 编译和移植 489

6.5.3 视频子系统 490

6.5.4 音频子系统 494

6.5.5 事件子系统 498

6.5.6 处理YUV视频源 502

6.6 音/视频编解码库FFmpeg 504

6.6.1 FFmpeg简介 504

6.6.2 核心结构体与常用API 505

6.6.3 与SDL结合实现简单的播放器 511