
内容介绍
《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系统和嵌入式系统中实现图片显示、声音录制、音乐播放、视频播放等内容。

章节目录
第1章 Linux编程环境11.1 基本工具11.1.1 免费大餐:Ubuntu11.1.2 桌面系统:gnome61.1.3 网络配置:纯手工打造61.1.4 软件集散地:APT81.1.5 无敌板斧:vi101.1.6 开发圣典:man131.1.7 配置共享目录151.2 Shell命令171.2.1 概念扫盲171.2.2 命令详解191.2.3 上古神器381.3 Shell脚本编程451.3.1 开场白451.3.2 脚本格式451.3.3 变量461.3.4 特殊符号们481.3.5 字符串处理501.3.6 测试语句511.3.7 脚本语法单元521.4 编译器:GCC551.4.1 简述551.4.2 编译过程简介551.4.3 实用的编译选项581.5 解剖Makefile591.5.1 工程管理器make591.5.2 概览性示例601.5.3 书写格式601.5.4 变量详解621.5.5 各种规则711.5.6 条件判断751.5.7 函数771.5.8 实用make选项集锦851.6 GNU-autotools861.6.1 autotools简介861.6.2 文件组织871.6.3 configure.ac编写规则88第2章 深度Linux-C922.1 基本要素922.1.1 Linux下C代码规范932.1.2 基本数据类型972.1.3 运算符1082.1.4 控制流1162.2 函数1242.2.1 函数初体验1252.2.2 函数调用内幕1282.2.3 递归思维及其实现1302.2.4 变参函数1332.2.5 回调函数1372.2.6 内联函数1402.3 数组与指针1422.3.1 数组初阶1422.3.2 内存地址1442.3.3 指针初阶1452.3.4 复杂指针定义1472.3.5 指针运算1512.3.6 数组与指针1522.3.7 复杂数组剖析1552.3.8 const指针1582.3.9 char指针和char数组1602.4 内存管理1622.4.1 进程内存布局1622.4.2 堆(Heap)1642.5 组合数据类型1672.5.1 结构体1672.5.2 共用体1712.5.3 枚举1722.6 高级议题1732.6.1 工程代码组织1732.6.2 头文件1752.6.3 宏(macro)1762.6.4 条件编译1822.6.5 复杂声明1842.6.6 attribute机制185第3章 Linux的数据组织1883.1 无所不在的链表1883.1.1 开场白1883.1.2 单向链表1903.1.3 单向循环链表1983.1.4 双向循环链表2003.1.5 Linux内核链表2103.2 线性表变异体2273.2.1 堆叠的盘子:栈2273.2.2 文明的社会:队列2363.3 小白慎入:非线性结构2433.3.1 基本概念2433.3.2 玩转BST2473.3.3 各种的遍历算法2603.3.4 自平衡AVL树2633.3.5 自平衡Linux红黑树273第4章 I/O编程技术2894.1 一切皆文件2894.1.1 文件的概念2894.1.2 各类文件2904.2 文件操作2904.2.1 系统I/O2914.2.2 标准I/O3064.2.3 文件属性3204.3 目录检索3274.3.1 基本概念3274.3.2 相关API3284.4 触控屏应用接口3304.4.1 输入子系统简介3304.4.2 TSLIB库详解3334.4.3 划屏算法338第5章 Linux进程线程3455.1 Linux进程入门3455.1.1 进程概念3455.1.2 进程组织方式3465.2 进程的“生老病死”3485.2.1 进程状态3485.2.2 相关重要API3505.3 进程的语言3585.3.1 管道3585.3.2 信号3635.3.3 system-V IPC简介3805.3.4 消息队列(MSG)3815.3.5 共享内存(SHM)3875.3.6 信号量(SEM)3925.4 Linux线程入门4005.4.1 线程基本概念4005.4.2 线程API及特点4015.5 线程安全4105.5.1 POSIX信号量4105.5.2 互斥锁与读写锁4155.5.3 条件变量4185.5.4 可重入函数4215.6 线程池4225.6.1 实现原理4225.6.2 接口设计4235.6.3 实现源码425第6章 Linux音频、视频编程4336.1 基本背景4336.2 Linux音频4336.2.1 音频概念4336.2.2 标准音频接口ALSA4366.3 Linux视频输出4506.3.1 基本概念4506.3.2 framebuffer4526.3.3 在LCD上画图4626.3.4 效果算法4696.4 Linux视频输入4786.4.1 V4L2简介4786.4.2 V4L2视频采集流程4786.4.3 V4L2核心命令字和结构体4816.4.4 编码格式和媒体流4846.5 多媒体开发库SDL4896.5.1 SDL简介4896.5.2 编译和移植4896.5.3 视频子系统4906.5.4 音频子系统4946.5.5 事件子系统4986.5.6 处理YUV视频源5026.6 音/视频编解码库FFmpeg5046.6.1 FFmpeg简介5046.6.2 核心结构体与常用API5056.6.3 与SDL结合实现简单的播放器511
使用说明
1、下载并解压,得出pdf文件2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读试读>
下载仅供下载体验和测试学习,不得商用和正当使用。
下载体验