linux环境编程图文指南是一本linux编程环境配置指南,由林世霖、钟锦辉和李建辉三人共同编著。本书定位Linux环境编程入门与提高,全书拥有近400余幅案例图表,200多篇源代码,作者很多编程初入行的朋友成长曲线平缓力争做到图文并茂,让很多编程初入行的朋友成长曲线平缓下来,慢慢的一步一步学习Linux/UNIX编程开发,适用于希望从事Linux/UNIX编程开发、嵌入式开发、C环境开发的朋友阅读。

f1c3c156bdceebebbbc003d0747c7dbb.png

内容介绍《linux环境编程图文指南》从零开始,循序渐进地攻破Linux环境编程所遇到的各级关卡,以图文并茂的形式帮助读者理解各个概念。本书内容翔实,囊括了Linux系统操作细节,Shell脚本编程精要,各种编程环境所需要解决的技术难点,以及在Linux环境下的C语言编程技术、并发编程技术和音/视频编程等核心内容。全书用近400幅图表帮助读者理解复杂概念,因此读者不需要具备任何计算机编程经验,在本书的指导下就能进入编程的世界,并能在阅读和实践中享受编程的乐趣。同时,本书配套完整的视频教程,给读者以*直观、*容易吸收知识的方式,融会贯通书中所有的知识点。不仅如此,读者还能够得到作者及其团队的在线技术支援和答疑。

《linux环境编程图文指南》共分6章,按照从易到难的路径顺序讲述。

第1章着重介绍整个Linux的编程环境,包括如何安装Linux系统,以及如何使用Shell来操作用户的系统,本章还详细介绍了Linux下编程的三大必备技能,Shell脚本编程、Makefile语法和GNU开源开发套件autotools的详细使用方法。

第2章深度剖析C语言,大量使用图文方式解释内存机制,从根本上解决初学者对内存认识不到位的问题,具体而真实地掌握内存是学好编程的一大秘诀。另外,本章还介绍了Linux下的C语言的一些扩展增强语法。

第3章讲解数据组织结构,并且联系Linux内核使用实况详细剖析了传统链表、内核链表、栈和队列、二叉搜索树以及内核红黑树等高级数据结构,全章图文并茂,一目了然,对于这些纯算法也能确保读者学习愉悦,不枯燥。

第4章讲解Linux文件I/O编程,详述标准I/O和系统I/O,图解包括触摸屏在内的特殊设备文件的操作,读者在学习完本章之后对Linux的文件管理、目录操作会有本质上的提升。

第5章全面介绍Linux并发编程中的核心技术,包括多进程、多线程、IPC、同步互斥等,全章同样图文并茂,确保每一个知识点都能在图画中得到解答。

第6章是Linux应用编程的高级部分,在前面章节的基础上着重介绍了跟Linux音/视频相关的概念和使用,详细剖析ALSA机制、framebuffer、V4L2机制、SDL和FFmpeg库的使用等,让读者可以编程实现在Linux系统和嵌入式系统中实现图片显示、声音录制、音乐播放、视频播放等内容。

f1c3c156bdceebebbbc003d0747c7dbb.png

章节目录第1章 Linux编程环境1

1.1 基本工具1

1.1.1 免费大餐:Ubuntu1

1.1.2 桌面系统:gnome6

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

1.1.4 软件集散地:APT8

1.1.5 无敌板斧:vi10

1.1.6 开发圣典:man13

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 编译器:GCC55

1.4.1 简述55

1.4.2 编译过程简介55

1.4.3 实用的编译选项58

1.5 解剖Makefile59

1.5.1 工程管理器make59

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-autotools86

1.6.1 autotools简介86

1.6.2 文件组织87

1.6.3 configure.ac编写规则88

第2章 深度Linux-C92

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 玩转BST247

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/O291

4.2.2 标准I/O306

4.2.3 文件属性320

4.3 目录检索327

4.3.1 基本概念327

4.3.2 相关API328

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 相关重要API350

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 标准音频接口ALSA436

6.3 Linux视频输出450

6.3.1 基本概念450

6.3.2 framebuffer452

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 多媒体开发库SDL489

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 音/视频编解码库FFmpeg504

6.6.1 FFmpeg简介504

6.6.2 核心结构体与常用API505

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

使用说明1、下载并解压,得出pdf文件

2、如果打不开本文件,请务必下载pdf阅读器

3、安装后,在打开解压得出的pdf文件

4、双击进行阅读试读

Logo

更多推荐