课程目录
1 C语言概述 (09:47)
2 搭建学习C的编译环境 (14:11)
3 编写第一个C语言程序 (18:53)
4 安装C语言编程工具 (28:50)
5 Linux加Win的混合环境搭建 (41:24)
6 环境搭建补充Samba服务的搭建 (12:36)
7 进制 (25:26)
8 C语言中常用数据类型 (25:00)
9 常量和变量 (25:44)
10 C语言中的运算符1 (22:27)
11 C语言中的运算符2 (25:51)
12 表达式、语句和程序的概念 (07:15)
13 全局变量、局部变量和C程序的内存布局 (25:15)
14 const和volatile关键字 (23:10)
15 extern和static关键字 (25:23)
16 register和auto关键字 (08:24)
17 printf函数 (31:27)
18 scanf函数1 (24:35)
19 scanf函数2 (27:39)
20 其他基本输入输出函数 (13:01)
21 缓冲区的认识 (25:05)
22 前面遗留问题1的分析和解决 (14:29)
23 scanf函数的高级用法 (21:01)
24 if else语句 (35:59)
25 switch case语句和分支运算符 (21:07)
26 while和do while循环 (25:21)
27 for循环语句 (21:02)
28 break和continue关键字 (23:28)
29 循环嵌套举例 (23:32)
30 数组的基本用法1 (26:16)
31 数组的基本用法2 (18:16)
32 二维数组 (30:26)
33 字符数组和字符串 (29:36)
34 函数的定义与调用1 (21:43)
35 函数的定义与调用2 (24:07)
36 函数的分类和定义申明的区别 (15:59)
37 递归函数和exit(0)return 0的区别 (26:41)
38 什么是指针 (19:52)
39 指针变量的定义和使用 (27:09)
40 指针变量的运算 (23:34)
41 数组指针 (37:55)
42 上次课的作业的分析 (20:38)
43 字符串指针 (36:00)
44 指针变量作为函数参数 (35:41)
45 指针函数 (14:53)
46 二级指针 (14:54)
47 空指针和void指 (27:06)
48 指针数组 (22:37)
49 二维数组指针 (25:17)
50 函数指针 (17:13)
51 main函数高级用法 (09:17)
52 指针部分的总结 (29:49)
53 预处理命令和预处理的意义 (12:53)
54 #include命令的使用细节 (24:41)
55 C语言中的宏定义 (26:43)
56 C语言带参数宏定义 (16:55)
57 宏参数字符串化和连接以及预定义宏 (14:19)
58 C语言条件编译 (20:45)
59 预处理指令#error和#pragma once (09:14)
60 强符号和弱符号 (22:51)
61 强引用和弱引用 (18:19)
62 头文件编写的原则和项目构建的基本结构 (16:38)
63 结构体的基本用法 (23:13)
64 结构体数组 (12:04)
65 结构体指针1 (26:46)
66 结构体指针2 (13:46)
67 位域 (27:25)
68 枚举类型 (24:54)
69 共用体1 (35:26)
70 共用体2 (19:07)
71 CPU的组成和工作原理 (22:22)
72 寄存器和CPU指令 (20:16)
73 虚拟地址 (19:01)
74 虚拟地址空间以及编译模式 (22:42)
75 内存对齐 (25:49)
76 内存分页机制 (22:38)
77 一级页表的原理 (31:23)
78 二级页表的原理 (22:56)
79 MMU的介绍 (14:55)
80 内核模式和用户模式 (33:12)
81 栈的进一步细节 (22:19)
82 栈帧与栈帧数据的定位 (21:03)
83 函数调用惯例和函数在栈中调用的过程 (31:51)
84 理解内存动态分配 (11:29)
85 malloc函数 (14:03)
86 calloc函数 (10:07)
87 realloc函数 (23:47)
88 free函数 (08:11)
89 认识make和makefile (24:33)
90 make和Makefile的基本知识点 (19:39)
91 Makefile伪目标 (12:53)
92 Makefile变量的定义和使用 (14:38)
93 Makefile通配符的使用 (02:56)
94 Makefile自动化变量 (32:00)
95 Makefile目标文件搜索 (16:27)
96 Makefile的条件判断 (13:42)
97 Makefile常用字符串处理函数 (17:24)
98 Makefile常用文件名操作函数 (11:16)
99 Makefile中的其它常用函数 (24:48)
100 include文件包含 (18:15)
101 嵌套执行make (15:00)
102 Makefile变量的高级用法 (10:10)
103 静态库的生成和使用 (17:57)
104 动态库的生成和使用 (18:50)
105 有关IO的几个基本概念 (22:10)
106 fopen函数 (20:10)
107 fclose函数 (09:07)
108 字符读取函数 fgetc (14:01)
109 字符写入函数 fputc (06:36)
110 fgets和fputs函数 (12:30)
111 fread和fwrite的用法 (19:29)
112 fscanf和fprintf函数 (23:39)
113 fseek函数 (14:01)
114 实现文件复制功能 (18:19)
115 获取文件大小 (11:15)
116 实现灵活的文件复制函数 (30:26)
117 实现插入文件内容 (18:37)
118 实现文件内容删除和测试 (08:04)
119 文件描述符 (22:47)
120 open和close函数 (20:06)
121 read、write和lseek函数 (17:52)
122 dup和dup2函数 (17:38)
123 fcntl和ioctl函数 (31:58)
124 stat和fstat函数 (25:43)
125 和文件链接有关联的函数 (23:27)
126 access和chmod函数 (29:54)
127 chown和unlink函数 (16:00)
128 getcwd和chdir函数 (18:21)
129 目录的创建和删除函数 (17:51)
130 打开、读取和关闭目录 (31:19)
131 目录的位置指针操作函数 (21:52)
132 用户信息的相关函数 (13:49)
133 日期时间相关函数 (16:16)
134 认识进程 (24:54)
135 fork函数 (14:20)
136 vfork函数 (08:07)
137 exec系列函数 (22:12)
138 环境变量 (11:51)
139 结束进程1 (21:35)
140 结束进程2 (14:12)
141 守护进程相关概念 (17:55)
142 守护进程的实现 (21:14)
143 系统日志的使用 (14:43)
144 线程的初步认识 (27:55)
145 线程创建实例1 (39:21)
146 线程创建实例2 (28:20)
147 初步认识线程属性 (18:22)
148 几组简单的线程属性 (32:55)
149 线程调度策略和优先级操作 (12:34)
150 线程调度策略规则 (23:07)
151 调度策略的演示demo (33:26)
152 余下的线程属性 (24:35)
153 线程终止方法概述 (16:51)
154 线程终止方式举例1 (22:50)
155 线程终止方式举例2 (22:35)
156 线程终止时使用钩子函数释放资源 (27:30)
157 认识线程同步 (19:28)
158 互斥锁 (21:23)
159 条件变量 (36:52)
160 信号量 (48:33)
161 读写锁 (33:02)
162 认识线程池 (12:28)
163 线程池实例—线程池头文件和类型定义 (35:41)
164 线程池实例—线程池创建函数 (20:08)
165 线程池实例—工作线程函数 (31:15)
166 线程池实例—管理者线程函数 (17:02)
167 线程池实例—添加任务和销毁的函数 (14:02)
168 线程池实例—查漏补缺和使用演示 (10:54)
169 进程间通信认识 (19:08)
170 管道通信原理 (17:22)
171 管道通信实例 (14:07)
172 命名管道原理 (20:41)
173 命名管理通信实例 (19:38)
174 消息队列的使用1 (21:08)
175 消息队列的使用2 (33:28)
176 进程间通信中的信号量 (29:26)
177 共享内存相关函数 (19:48)
178 共享内存和信号量的实例 (35:17)
179 信号的概述 (12:38)
180 signal函数 (21:28)
181 kill函数 (25:16)
182 标准信号其他管理函数 (29:30)
183 sigpending函数 (14:14)
184 sigaction函数 (27:46)
185 实时信号和标准信号的区别 (15:58)
186 实时信号的处理例子 (39:40)
187 等待信号的两函数 (17:14)
188 高级IO非阻塞模式 (25:09)
189 高级IO非阻塞模式举例 (23:20)
190 高级IO文件锁的概述 (23:28)
191 高级IO文件锁的例子 (25:23)
192 IO多路复用概述 (20:06)
193 select机制举例 (23:39)
194 poll机制及其例子 (18:18)
195 异步IO的原理和例子 (19:48)
196 存储映射IO概述 (38:15)
197 存储映射IO测试用例 (19:05)
198 网络编程的相关概念 (34:26)
199 网络编程第一个服务端例子 (32:53)
200 网络编程第一个客户端例子 (17:25)
201 网络编程的进一步举例 (18:12)
202 套接字缓冲区和阻塞规则 (17:57)
203 TCP数据包粘包问题讨论 (10:59)
204 网络编程文件传输例子 (26:46)
205 网络数据传输的大小端问题 (12:16)
206 网络编程中使用域名 (14:44)
207 UDP网络编程举例已经本门课程结束 (21:18)