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

内容介绍《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编程环境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、双击进行阅读试读

林世霖. linux环境编程图文指南,linux环境编程图文指南相关推荐

  1. c linux下并行编程指南,Linux环境下C编程指南(第2版)

    摘要: <Linux环境下C编程指南(第2版)>系统地介绍在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者能够很快掌握在Linux平台下进行C程序开发的方法和技 ...

  2. Linux 学习数据专题【管理、编程、源码分析】——Linux相关图书选购指南

    编辑推荐--Linux专题  http://www.china-pub.com/main/linux/linux_fengrui.htm Linux相关图书选购指南 本期特约作者 冯锐 (会员名:ph ...

  3. linux环境变量设置方法,Linux环境变量设置指南

    以配置java环境变量为例 [编辑]修改/etc/profile文件 此法对所有用户生效 在文件末尾加入以下内容: JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAV ...

  4. 【linux草鞋应用编程系列】_2_ 环境变量和进程控制

    一. 环境变量 应用程序在执行的时候,可能需要获取系统的环境变量,从而执行一些相应的操作. 在linux中有两种方法获取环境变量,分述如下. 1.通过main函数的参数获取环境变量 main函数的多种 ...

  5. linux系统默认的环境变量path,Linux编程 12 (默认shell环境变量, PATH变量重要讲解)...

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

  6. Linux系统编程(一)——环境搭建

    准备写系统的总结Linux系统的一些知识以及Linux系统编程.这一篇先讲Linux搭建常用的开发环境. 目录 0x01 Linux开发环境搭建 一.远程链接操作 0x02 GCC 一.安装 二.了解 ...

  7. Linux系统编程及应用——ubuntu环境下

    Linux系统编程及应用--ubuntu环境下 程序由业务逻辑和系统访问两部分构成的.其中,业务逻辑是根据业务需求,按照设计好的逻辑规则,处理信息,与系统(平台)无关的:而系统访问则是利用操作系统所提 ...

  8. linux与shell编程指南,LINUX与UNIX SHELL编程指南

    目      录 译者序 前言 第一部分   shell 第1章   文件安全与权限1 1.1   文件1 1.2   文件类型2 1.3   权限2 1.4   改变权限位4 1.4.1   符号模 ...

  9. linux 环境变量详解,linux环境变量实例详解

    1.环境变量 简单理解了变量的概念,就很容易理解环境变量了.环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程.在所有的 UNIX 和类 UNIX 系统中,每个进程都 ...

最新文章

  1. 原根与指标,离散对数
  2. Linux驱动编程 step-by-step (七) 并发 竞态 (信号量与自旋锁)
  3. IE6下div宽高设置
  4. git+pylint实现python提交代码格式校验
  5. mysql中的trigger
  6. 【Clickhouse】mutation 操作
  7. 谈推荐场景下的对比学习
  8. NOI题库--砝码称重V2(多重背包2^n拆分)
  9. mysql安装及常见设置
  10. ctags linux,ctags --- 每天一个 Linux 命令
  11. web eTerm是什么
  12. Paper intensive reading (六):Altered Interactions between the GM and Colonic Mucosa Precede Polyposis
  13. 齐岳定制|Cyclopropene-PEG-Xylan|环丙烯-聚乙二醇-木聚糖
  14. 【实例】使用jquery自带的slideToggle由上到下缓缓加载图片
  15. alias linux 执行命令,Linux系统alias命令编写实现命令别名方法介绍
  16. win10可以上网但显示无网络连接
  17. 3d最新网络游戏捕鱼3d
  18. 机器学习实战_朴素贝叶斯分类器_预测疾病
  19. 51单片机的频率计设计
  20. 无人值守安装linux7,CentOS7网络无人值守安装

热门文章

  1. 微信公众号对接后台开发的一些问题总结
  2. Sublime text文本编辑器中文乱码解决方法
  3. Orange Pi 5B面世,传承经典,再续传奇
  4. vagrant日常操作
  5. 蓝牙耳机哪一款性价比最高?高性价比蓝牙耳机
  6. 写一个微信小程序,加拿大移民分数计算器
  7. leetcode 605. 种花问题(python)
  8. 科普| 什么是云原生?
  9. 基于Matlab开发的整车动力系统匹配计算软件,将整车参数及性能需求输入
  10. 嵌入式ARM-Linux使能USB转串口驱动