第1篇基础知识
第1章Linux系统概述
视频讲解:12分钟
1.1Linux的起源与发展
1.1.1GNU项目的前前后后
1.1.2Linux的诞生
1.1.3Linux的现状
1.2Linux的内核与版本
1.2.1Linux内核的介绍
1.2.2Linux对硬件平台的支持
1.2.3常见Linux的发行版本
1.3Linux系统的安装
1.3.1Linux系统安装的硬件要求
1.3.2图形化安装Linux
1.3.3第一次启动Linux系统
1.4小结
第2章C语言基础
视频讲解:35分钟
2.1C语言概述
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章内存管理
视频讲解:15分钟
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.1VIM的进入与退出
4.1.2VIM基本模式
4.2VIM的基本操作
4.2.1VIM的命令行模式操作
4.2.2VIM的编辑模式操作
4.2.3VIM的底行模式操作
4.3初识Emacs
4.4Emacs的基本操作
4.4.1启动Emacs
4.4.2基本操作
4.5小结
第5章GCC编译器
视频讲解:27分钟
5.1初识GCC编译器
5.1.1第一次编译
5.1.2GCC选项概述
5.1.3警告
5.1.4GCC调试
5.1.5代码优化
5.2GCC编译的基本流程
5.2.1C预处理
5.2.2编译
5.2.3汇编
5.2.4链接
5.3其他编译工具简介
5.3.1C++编译器G++
5.3.2EGCS
5.3.3F2C和P2C
5.4小结
第6章GDB调试工具.
视频讲解:31分钟
6.1初识GDB调试器
6.1.1GDB调试器概述
6.1.2用GDB调试简单程序
6.2GDB调试器的基本功能与常用命令59
6.2.1启动调试程序功能及其命令
6.2.2使用断点功能及其命令
6.2.3检查数据的功能及其命令
6.2.4使用观察窗口功能及其命令
6.2.5检查栈信息功能及其命令
6.2.6检查源代码功能及其命令
6.2.7改变程序的运行功能及其命令
6.3多线程程序调试
6.4Linux平台上的其他调试工具
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.3pipe()函数实现管道通信
8.2.4命名管道基本定义
8.2.5在Shell中创建命名管道
8.2.6mkfifo()函数创建命名管道.
8.3共享内存
8.3.1SYSV子系统的基本知识
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.7C标准库的I/O缓冲区
10.4小结
10.5实践与练习
第11章信号及信号处理
视频讲解:23分钟
11.1信号概述
11.1.1在终端中查看常见的信号
11.1.2信号处理
11.2产生信号
11.2.1kill()函数
11.2.2raise()函数
11.2.3alarm()函数
11.3捕捉信号
11.3.1signal()函数
11.3.2sigaction()函数
11.4信号的阻塞
11.4.1sigprocmask()函数
11.4.2sigsuspend()函数
11.4.3sigpending()函数.
11.5信号处理的安全问题
11.6小结
11.7实践与练习
第12章网络编程
视频讲解:30分钟
12.1网络编程的基本原理
12.1.1计算机网络.
12.1.2TCP/IP协议
12.1.3IP地址简介
12.1.4套接字编程原理.
12.2TCP套接字编程
12.3UDP套接字编程
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.1Makefile的导入.
13.1.2make是如何工作的
13.1.3Makefile中使用变量.
13.1.4让make自动推导
13.1.5清空目标文件的规则
13.2make概述
13.2.1Makefile中有什么
13.2.2Makefile的文件名
13.2.3包含其他Makefile文件
13.2.4变量MAKEFILES
13.2.5变量MAKEFILE_LIST
13.2.6其他特殊变量
13.2.7Makefile文件的重建.
13.2.8重载另外一个Makefile
13.2.9make如何解析Makefile文件
13.2.10总结
13.3Makefile基本规则
13.3.1规则举例
13.3.2规则语法
13.3.3依赖的类型
13.3.4文件名使用通配符
13.3.5目录搜寻
13.3.6Makefile伪目标.
13.3.7强制目标(没有命令或依赖的规则)227
13.3.8空目标文件
13.3.9Makefile的特殊目标.
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.5override指示符
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.4foreach()函数
13.6.5if()函数
13.6.6call()函数
13.6.7origin()函数
13.6.8shell()函数
13.6.9控制make的函数
13.7make的运行.
13.7.1make的退出码
13.7.2指定Makefile
13.7.3指定目标
13.7.4检查规则
13.7.5make的参数
13.8隐含规则
13.8.1使用隐含规则
13.8.2隐含规则一览
13.8.3隐含规则使用的变量.
13.8.4隐含规则链.
13.8.5模式规则
13.8.6后缀规则
13.8.7隐含规则搜索算法
13.9make工具与函数库
13.9.1函数库文件的成员
13.9.2函数库成员的隐含规则
13.9.3函数库文件的后缀规则
13.9.4注意事项
13.10小结
13.11实践与练习
第14章Linux系统下的C语言与数据库278
视频讲解:13分钟
14.1MySQL数据库简介
14.2安装和连接MySQL数据库
14.2.1安装MySQL数据库.
14.2.2启动和关闭MySQL
14.3连接操作MySQL
14.3.1MySQL常用数据库操作函数
14.3.2连接MySQL数据
14.3.3查询表记录
14.3.4插入表记录
14.3.5修改表记录
14.3.6删除表记录
14.4Oracle数据库简介
14.5Oracle数据库的安装
14.5.1软硬件要求
14.5.2安装Oracle11g数据库
14.5.3创建监听和数据库
14.6连接Oracle数据库
14.7小结
14.8实践与练习
第15章集成开发环境
视频讲解:13分钟
15.1Eclipse与CDT简介
15.2安装和配置Eclipse
15.2.1安装Eclipse
15.2.2配置Eclipse的CDT.
15.3使用Eclipse开发C代码
15.3.1编写运行HelloWorld
15.3.2CDT的相关功能
15.3.3调试C/C++的项目
15.4小结
第3篇高级应用
第16章界面开发基础
视频讲解:23分钟
16.1Linux常用桌面环境
16.1.1面板介绍
16.1.2桌面图标介绍
16.1.3桌面背景
16.2glib库介绍
16.2.1类型定义
16.2.2glib的宏
16.2.3内存管理
16.2.4字符串处理.
16.2.5数据结构
16.3GObject对象介绍
16.4图形引擎Cairo介绍
16.5多媒体库介绍
16.5.1元件和插件.
16.5.2衬垫
16.5.3数据、缓冲区和事件
16.5.4缓冲区的分配
16.5.5MIME类型和属性
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小时3分钟
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.3RC文件
18.4小结
18.5实践与练习
第19章Glade设计程序界面
视频讲解:23分钟
19.1Glade简介
19.2构造图形界面
19.2.1添加窗体
19.2.2添加容器
19.2.3添加构件
19.2.4设置构件属性
19.2.5添加事件和回调.
19.3C语言代码联编
19.3.1GtkBuilder代码连接基础
19.3.2GtkBuilder代码连接实例.
19.4小结
19.5实践与练习
第4篇项目实战
第20章MP3音乐播放器
视频讲解:27分钟
20.1GStreamer简介
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小结