第1篇 基础知识
第1章 Linux系统概述
视频讲解:12分钟
1.1 Linux的起源与发展
1.1.1 GNU项目的前前后后
1.1.2 Linux的诞生
1.1.3 Linux的现状
1.2 Linux的内核与版本
1.2.1 Linux内核的介绍
1.2.2 Linux对硬件平台的支持
1.2.3 常见Linux的发行版本
1.3 Linux系统的安装
1.3.1 Linux系统安装的硬件要求
1.3.2 图形化安装Linux
1.3.3 第一次启动Linux系统
1.4 小结
第2章 C语言基础
视频讲解:34分钟
2.1 C语言概述
2.2 数据类型
2.2.1 基本类型
2.2.2 构造类型
2.2.3 指针类型
2.2.4 空类型
2.3 运算符和表达式
2.3.1 运算符
2.3.2 表达式
2.4 函数
2.5 程序语句
2.5.1 控制语句
2.5.2 函数调用语句
2.5.3 表达式语句
2.5.4 空语句
2.5.5 复合语句
2.6 预处理命令
2.6.1 宏定义
2.6.2 文件包含
2.7 小结
2.8 实践与练习
第3章 内存管理
视频讲解:9分钟
3.1 内存分类
3.1.1 动态内存
3.1.2 静态内存
3.1.3 动态内存与静态内存的区别
3.2 内存管理的基本操作
3.2.1 分配内存
3.2.2 释放内存
3.3 链表
3.4 小结
3.5 实践与练习
第4章 基本编辑器VIM和Emacs
视频讲解:12分钟
4.1 初识VIM
4.1.1 VIM的进入与退出
4.1.2 VIM基本模式
4.2 VIM的基本操作
4.2.1 VIM的命令行模式操作
4.2.2 VIM的编辑模式操作
4.2.3 VIM的底行模式操作
4.3 初识Emacs
4.4 Emacs的基本操作
4.4.1 启动Emacs
4.4.2 基本操作
4.5 小结
第1篇 基础知识
第1章 Linux系统概述
视频讲解:12分钟
1.1 Linux的起源与发展
1.1.1 GNU项目的前前后后
1.1.2 Linux的诞生
1.1.3 Linux的现状
1.2 Linux的内核与版本
1.2.1 Linux内核的介绍
1.2.2 Linux对硬件平台的支持
1.2.3 常见Linux的发行版本
1.3 Linux系统的安装
1.3.1 Linux系统安装的硬件要求
1.3.2 图形化安装Linux
1.3.3 第一次启动Linux系统
1.4 小结
第2章 C语言基础
视频讲解:34分钟
2.1 C语言概述
2.2 数据类型
2.2.1 基本类型
2.2.2 构造类型
2.2.3 指针类型
2.2.4 空类型
2.3 运算符和表达式
2.3.1 运算符
2.3.2 表达式
2.4 函数
2.5 程序语句
2.5.1 控制语句
2.5.2 函数调用语句
2.5.3 表达式语句
2.5.4 空语句
2.5.5 复合语句
2.6 预处理命令
2.6.1 宏定义
2.6.2 文件包含
2.7 小结
2.8 实践与练习
第3章 内存管理
视频讲解:9分钟
3.1 内存分类
3.1.1 动态内存
3.1.2 静态内存
3.1.3 动态内存与静态内存的区别
3.2 内存管理的基本操作
3.2.1 分配内存
3.2.2 释放内存
3.3 链表
3.4 小结
3.5 实践与练习
第4章 基本编辑器VIM和Emacs
视频讲解:12分钟
4.1 初识VIM
4.1.1 VIM的进入与退出
4.1.2 VIM基本模式
4.2 VIM的基本操作
4.2.1 VIM的命令行模式操作
4.2.2 VIM的编辑模式操作
4.2.3 VIM的底行模式操作
4.3 初识Emacs
4.4 Emacs的基本操作
4.4.1 启动Emacs
4.4.2 基本操作
4.5 小结
第5章 GCC编译器
视频讲解:26分钟
5.1 初识GCC编译器
5.1.1 第一次编译
5.1.2 GCC选项概述
5.1.3 警告
5.1.4 GCC调试
5.1.5 代码优化
5.2 GCC编译的基本流程
5.2.1 C预处理
5.2.2 编译
5.2.3 汇编
5.2.4 链接
5.3 其他编译工具简介
5.3.1 C++编译器G++
5.3.2 EGCS
5.3.3 F2C和P2C
5.4 小结
第6章 GDB调试工具
视频讲解:40分钟
6.1 初识GDB调试器
6.1.1 GDB调试器概述
6.1.2 用GDB调试简单程序
6.2 GDB调试器的基本功能与常用命令
6.2.1 启动调试程序功能及其命令
6.2.2 使用断点功能及其命令
6.2.3 检查数据的功能及其命令
6.2.4 使用观察窗口功能及其命令
6.2.5 检查栈信息功能及其命令
6.2.6 检查源代码功能及其命令
6.2.7 改变程序的运行功能及其命令
6.3 多线程程序调试
6.4 Linux平台上的其他调试工具
6.5 小结
第2篇 核 心 技 术
第7章 进程控制
视频讲解:57分钟
7.1 进程概述
7.1.1 进程的定义
7.1.2 进程的相关信息
7.2 进程的基本操作
7.2.1 进程创建
7.2.2 进程等待
7.2.3 进程结束
7.3 多个进程间的关系
7.3.1 进程组
7.3.2 时间片的分配
7.4 线程
7.4.1 线程概述
7.4.2 线程的属性
7.5 进程的特殊操作
7.5.1 获取进程标识
7.5.2 设置进程标识
7.6 小结
7.7 实践与练习
第8章 进程间通信
视频讲解:41分钟
8.1 进程间通信概述
8.1.1 进程间通信的工作原理
8.1.2 进程间通信的主要分类
8.2 管道与命名管道
8.2.1 管道基本定义
8.2.2 管道创建和管道关闭
8.2.3 pipe()函数实现管道通信
8.2.4 命名管道基本定义
8.2.5 在Shell中创建命名管道
8.2.6 mkfifo()函数创建命名管道
8.3 共享内存
8.3.1 SYSV子系统的基本知识
8.3.2 共享内存相关操作
8.3.3 共享内存实现进程间通信
8.4 信号量
8.4.1 信号量的工作原理
8.4.2 信号量的相关操作
8.4.3 信号量实现进程间通信
8.5 消息队列
8.5.1 消息队列的相关操作
8.5.2 消息队列实现进程间通信
8.6 小结
8.7 实践与练习
第9章 文件操作
视频讲解:37分钟
9.1 文件初探
9.1.1 文件与文件系统的概念
9.1.2 文件的属性
9.1.3 文件的相关信息
9.2 文件的相关操作
9.2.1 修改文件属性
9.2.2 复制文件描述符
9.2.3 获取文件信息
9.2.4 文件的其他操作
9.3 特殊文件的操作
9.3.1 目录文件的操作
9.3.2 链接文件的操作
9.3.3 设备文件
9.4 小结
9.5 实践与练习
第10章 文件的输入/输出操作
视频讲解:30分钟
10.1 文件I/O操作概述
10.1.1 文件描述符简介
10.1.2 数据流概述
10.2 基于文件描述符的I/O操作
10.2.1 文件的打开与关闭
10.2.2 文件的读写操作
10.2.3 文件的定位
10.3 基于数据流的I/O操作
10.3.1 文件的打开与关闭
10.3.2 字符输入/输出
10.3.3 字符串输入/输出
10.3.4 数据块输入/输出
10.3.5 格式化输入/输出
10.3.6 操作读写位置的函数
10.3.7 C标准库的I/O缓冲区
10.4 小结
10.5 实践与练习
第11章 信号及信号处理
视频讲解:23分钟
11.1 信号概述
11.1.1 在终端中查看常见的信号
11.1.2 信号处理
11.2 产生信号
11.2.1 kill()函数
11.2.2 raise()函数
11.2.3 alarm()函数
11.3 捕捉信号
11.3.1 signal()函数
11.3.2 sigaction()函数
11.4 信号的阻塞
11.4.1 sigprocmask()函数
11.4.2 sigsuspend()函数
11.4.3 sigpending()函数
11.5 信号处理的安全问题
11.6 小结
11.7 实践与练习
第12章 网络编程
视频讲解:30分钟
12.1 网络编程的基本原理
12.1.1 计算机网络
12.1.2 TCP/IP协议
12.1.3 IP地址简介
12.1.4 套接字编程原理
12.2 TCP套接字编程
12.3 UDP套接字编程
12.3.1 数据传输系统调用
12.3.2 基于UDP协议的C/S机制的网络通信的工作原理
12.3.3 基于UDP的简单网络通信实例
12.4 原始套接字编程
12.4.1 原始套接字定义
12.4.2 原始套接字系统调用
12.4.3 原始套接字的发送与接收
12.4.4 报文处理
12.5 小结
12.6 实践与练习
第13章 make编译基础
视频讲解:1小时54分钟
13.1 通过实例认识make
13.1.1 Makefile的导入
13.1.2 make是如何工作的
13.1.3 Makefile中使用变量
13.1.4 让make自动推导
13.1.5 清空目标文件的规则
13.2 make概述
13.2.1 Makefile中有什么
13.2.2 Makefile的文件名
13.2.3 包含其他Makefile文件
13.2.4 变量MAKEFILES
13.2.5 变量MAKEFILE_LIST
13.2.6 其他特殊变量
13.2.7 Makefile文件的重建
13.2.8 重载另外一个Makefile
13.2.9 make如何解析Makefile文件
13.2.10 总结
13.3 Makefile基本规则
13.3.1 规则举例
13.3.2 规则语法
13.3.3 依赖的类型
13.3.4 文件名使用通配符
13.3.5 目录搜寻
13.3.6 Makefile伪目标
13.3.7 强制目标(没有命令或依赖的规则)
13.3.8 空目标文件
13.3.9 Makefile的特殊目标
13.3.10 多目标
13.3.11 多规则目标
13.3.12 静态模式
13.3.13 双冒号规则
13.3.14 自动产生依赖
13.3.15 书写命令
13.4 变量的基本操作
13.4.1 变量的基础
13.4.2 变量中的变量
13.4.3 变量高级用法
13.4.4 追加变量值
13.4.5 override指示符
13.4.6 多行变量
13.4.7 环境变量
13.4.8 目标变量
13.4.9 模式变量
13.5 条件判断
13.5.1 示例
13.5.2 语法
13.6 基本函数的使用
13.6.1 函数的调用语法
13.6.2 字符串处理函数
13.6.3 文件名操作函数
13.6.4 foreach()函数
13.6.5 if()函数
13.6.6 call()函数
13.6.7 origin()函数
13.6.8 shell()函数
13.6.9 控制make的函数
13.7 make的运行
13.7.1 make的退出码
13.7.2 指定Makefile
13.7.3 指定目标
13.7.4 检查规则
13.7.5 make的参数
13.8 隐含规则
13.8.1 使用隐含规则
13.8.2 隐含规则一览
13.8.3 隐含规则使用的变量
13.8.4 隐含规则链
13.8.5 模式规则
13.8.6 后缀规则
13.8.7 隐含规则搜索算法
13.9 make工具与函数库
13.9.1 函数库文件的成员
13.9.2 函数库成员的隐含规则
13.9.3 函数库文件的后缀规则
13.9.4 注意事项
13.1 小结
13.11 实践与练习
第14章 Linux系统下的C语言与数据库
视频讲解:12分钟
14.1 MySQL数据库简介
14.2 安装和连接MySQL数据库
14.2.1 安装MySQL数据库
14.2.2 启动和关闭MySQL
14.3 连接操作MySQL
14.3.1 MySQL常用数据库操作函数
14.3.2 连接MySQL数据
14.3.3 查询表记录
14.3.4 插入表记录
14.3.5 修改表记录
14.3.6 删除表记录
14.4 Oracle数据库简介
14.5 Oracle数据库的安装
14.5.1 软硬件要求
14.5.2 安装Oracle 11g数据库
14.5.3 创建监听和数据库
14.6 连接Oracle数据库
14.7 小结
14.8 实践与练习
第15章 集成开发环境
视频讲解:13分钟
15.1 Eclipse与CDT简介
15.2 安装和配置Eclipse
15.2.1 安装Eclipse
15.2.2 配置Eclipse的CDT
15.3 使用Eclipse开发C代码
15.3.1 编写运行Hello World
15.3.2 CDT的相关功能
15.3.3 调试C/C++的项目
15.4 小结
第3篇 高 级 应 用
第16章 界面开发基础
视频讲解:23分钟
16.1 Linux常用桌面环境
16.1.1 面板介绍
16.1.2 桌面图标介绍
16.1.3 桌面背景
16.2 glib库介绍
16.2.1 类型定义
16.2.2 glib的宏
16.2.3 内存管理
16.2.4 字符串处理
16.2.5 数据结构
16.3 GObject对象介绍
16.4 图形引擎Cairo介绍
16.5 多媒体库介绍
16.5.1 元件和插件
16.5.2 衬垫
16.5.3 数据、缓冲区和事件
16.5.4 缓冲区的分配
16.5.5 MIME类型和属性
16.6 小结
16.7 实践与练习
第17章 界面布局
视频讲解:34分钟
17.1 窗体
17.1.1 初始化
17.1.2 建立窗口
17.1.3 结束应用程序
17.1.4 回调函数
17.1.5 其他窗体函数
17.2 组装盒构件
17.2.1 组装盒的原理
17.2.2 盒的细节
17.2.3 组装盒程序
17.2.4 用表组装
17.2.5 表组装程序
17.3 容器
17.3.1 事件盒
17.3.2 对齐构件
17.3.3 固定容器
17.3.4 布局容器
17.3.5 框架
17.3.6 分栏窗口构件
17.3.7 视角
17.3.8 滚动窗口
17.3.9 按钮盒
17.3.10 工具栏
17.3.11 笔记本
17.4 小结
17.5 实践与练习
第18章 界面构件开发
视频讲解:1小时4分钟
18.1 基本界面构件
18.1.1 按钮构件
18.1.2 调整对象
18.1.3 范围构件
18.1.4 标签
18.1.5 箭头
18.1.6 工具提示对象
18.1.7 进度条
18.1.8 对话框
18.1.9 标尺
18.2 杂项构件
18.2.1 状态栏
18.2.2 文本输入构件
18.2.3 微调按钮
18.2.4 组合框
18.2.5 日历
18.2.6 颜色选择
18.2.7 文件选择
18.3 RC文件
18.4 小结
18.5 实践与练习
第19章 Glade设计程序界面
视频讲解:23分钟
19.1 Glade简介
19.2 构造图形界面
19.2.1 添加窗体
19.2.2 添加容器
19.2.3 添加构件
19.2.4 设置构件属性
19.2.5 添加事件和回调
19.3 C语言代码联编
19.3.1 GtkBuilder代码连接基础
19.3.2 GtkBuilder代码连接实例
19.4 小结
19.5 实践与练习
第4篇 项 目 实 战
第20章 MP3音乐播放器
视频讲解:13分钟
20.1 GStreamer简介
20.2 界面设计
20.3 代码设计
20.3.1 建立工程文件
20.3.2 主程序设计
20.3.3 生成playbin对象
20.3.4 打开文件
20.3.5 播放MP3
20.3.6 暂停播放
20.3.7 停止播放
20.3.8 界面更新
20.3.9 播放控制
20.4 小结