人在天涯 发表于 2025-4-18 03:00

rk0680-王利涛嵌入式工程师自我修养系列视频教程【VIP】


——/王利涛嵌入式工程师自我修养系列视频教程/
├──王利涛-linux 三剑客
|   ├──C语言那些事儿
|   |   ├──1-1 你真的了解C语言吗_ev.mp470.35M
|   |   ├──1-2 学习C语言的重要性_ev.mp421.24M
|   |   ├──1-3 C语言及标准的发展过程_ev.mp453.46M
|   |   ├──1-4 C语言的特点_ev.mp412.20M
|   |   ├──1-5 C语言为什么这么难学?_ev.mp410.84M
|   |   ├──10-1 指针的基本概念_ev.mp485.42M
|   |   ├──10-10 const关键字修饰指针_ev.mp412.29M
|   |   ├──10-11 指针数组作为main函数参数_ev.mp423.25M
|   |   ├──10-12 restrict关键字修饰指针_ev.mp414.42M
|   |   ├──10-2 指向变量的指针_ev.mp444.62M
|   |   ├──10-3 指向数组的指针_ev.mp448.44M
|   |   ├──10-4 指向二维数组的指针_ev.mp426.56M
|   |   ├──10-5 指针数组_ev.mp417.89M
|   |   ├──10-6 指向字符串的指针_ev.mp413.47M
|   |   ├──10-7 指向指针的指针_ev.mp437.13M
|   |   ├──10-8 指向函数的指针_ev.mp412.16M
|   |   ├──10-9 函数指针_ev.mp415.23M
|   |   ├──11-1 结构体的基本概念_ev.mp450.63M
|   |   ├──11-2 结构体数组_ev.mp421.37M
|   |   ├──11-3 指向结构体的指针_ev.mp437.26M
|   |   ├──11-4 结构体函数_ev.mp46.73M
|   |   ├──11-5 共用体_ev.mp430.65M
|   |   ├──11-6 枚举_ev.mp415.11M
|   |   ├──11-7 使用typedef定义数据类型_ev.mp419.13M
|   |   ├──11-8 结构体成员为柔性数组(C99)_ev.mp413.96M
|   |   ├──11-9 复合字面量_ev.mp410.65M
|   |   ├──12-1 预处理的基本概念_ev.mp426.75M
|   |   ├──12-2 宏定义_ev.mp442.87M
|   |   ├──12-3 一些预定义的宏_ev.mp416.01M
|   |   ├──12-4 头文件包含_ev.mp431.69M
|   |   ├──12-5 条件编译_ev.mp419.32M
|   |   ├──12-6 其它预处理命令_ev.mp442.83M
|   |   ├──13-1 动态内存管理_ev.mp426.81M
|   |   ├──13-2 动态内存申请函数_ev.mp425.15M
|   |   ├──13-3 内存泄露与野指针_ev.mp433.80M
|   |   ├──14-1 文件的基本概念_ev.mp456.36M
|   |   ├──14-2 文件的打开与关闭_ev.mp416.98M
|   |   ├──14-3 文件的读写函数_ev.mp438.23M
|   |   ├──14-4 文件状态监测函数_ev.mp415.49M
|   |   ├──14-5 文件的随机读写_ev.mp425.02M
|   |   ├──2-1 开发环境安装及使用_ev.mp458.12M
|   |   ├──2-2 计算机基本原理介绍_ev.mp441.27M
|   |   ├──2-3 计算机编程语言的发展_ev.mp424.03M
|   |   ├──2-4 可执行程序是怎么生成的?_ev.mp452.56M
|   |   ├──2-5 程序到底是怎么运行的?_ev.mp411.52M
|   |   ├──2-6 程序安装原理及过程分析_ev.mp411.00M
|   |   ├──2-7 制作自己的第一个程序安装包_ev.mp419.14M
|   |   ├──3-1 hello world程序分析_ev.mp440.12M
|   |   ├──3-2 标识符与关键字_ev.mp440.52M
|   |   ├──3-3 常量与变量_ev.mp455.94M
|   |   ├──3-4 二进制计数制及和其它进制转换_ev.mp433.42M
|   |   ├──3-5 数据在内存中的表示_ev.mp465.11M
|   |   ├──3-6 程序调试技巧_ev.mp429.44M
|   |   ├──4-1 整型类型数据_ev.mp446.16M
|   |   ├──4-2 字符型数据_ev.mp459.90M
|   |   ├──4-3 浮点型数据_ev.mp423.82M
|   |   ├──4-4 类型转换_ev.mp430.58M
|   |   ├──4-5 布尔类型_Bool(C99)_ev.mp413.92M
|   |   ├──4-6 复数类型_Complex(C99)_ev.mp49.50M
|   |   ├──5-1 运算符与表达式_ev.mp458.78M
|   |   ├──5-10 一些容易出错的优先级_ev.mp48.88M
|   |   ├──5-2 算术运算符_ev.mp431.41M
|   |   ├──5-3 赋值运算符_ev.mp420.46M
|   |   ├──5-4 关系运算符_ev.mp413.22M
|   |   ├──5-5 逻辑运算符_ev.mp416.51M
|   |   ├──5-6 位逻辑运算符_ev.mp455.06M
|   |   ├──5-7 条件运算符_ev.mp412.46M
|   |   ├──5-8 逗号表达式_ev.mp49.52M
|   |   ├──5-9 C语言的序列点(C99)_ev.mp434.80M
|   |   ├──6-1格式输出函数printf_ev.mp436.29M
|   |   ├──6-2 格式输入函数scanf_ev.mp431.79M
|   |   ├──6-3 字符输入输出函数_ev.mp419.82M
|   |   ├──6-4 字符串输入输出函数_ev.mp418.24M
|   |   ├──6-5 printf家族其它函数_ev.mp421.55M
|   |   ├──7-1 结构化程序设计和流程图_ev.mp414.86M
|   |   ├──7-2 顺序程序设计_ev.mp49.98M
|   |   ├──7-3 选择程序设计_ev.mp437.06M
|   |   ├──7-4 循环结构程序设计_ev.mp428.22M
|   |   ├──8-1 函数的基本概念_ev.mp444.32M
|   |   ├──8-10 内联函数_ev.mp417.04M
|   |   ├──8-11 库函数基础_ev.mp438.56M
|   |   ├──8-12 开发自己的函数库_ev.mp438.50M
|   |   ├──8-2 函数的参数_ev.mp429.46M
|   |   ├──8-3 函数的嵌套与递归_ev.mp419.75M
|   |   ├──8-4 变量的作用域_ev.mp427.12M
|   |   ├──8-5 变量的链接属性_ev.mp411.67M
|   |   ├──8-6 变量的存储类型_ev.mp440.71M
|   |   ├──8-7 关键字volatile_ev.mp47.16M
|   |   ├──8-8 多个C源文件组织方式_ev.mp438.93M
|   |   ├──8-9 内部函数与外部函数_ev.mp411.35M
|   |   ├──9-1 数组的基本概念_ev.mp470.47M
|   |   ├──9-2 二维数组_ev.mp431.02M
|   |   ├──9-3 字符数组与字符串_ev.mp422.00M
|   |   ├──9-4 字符串处理函数_ev.mp419.72M
|   |   ├──9-5 数组作为函数的参数_ev.mp435.72M
|   |   └──9-6 变长数组_ev.mp415.49M
|   ├──C语言实战之学生成绩管理系统
|   |   ├──1.课程及项目简介_ev.mp444.63M
|   |   ├──10.编码(4)之成绩查询_ev.mp416.32M
|   |   ├──11.编码(5)之成绩修改_ev.mp425.82M
|   |   ├──12.编码(6)之成绩统计_ev.mp48.79M
|   |   ├──13.编码(7)之人机交互菜单和模块集成_ev.mp420.40M
|   |   ├──14.代码优化及测试流程_ev.mp441.19M
|   |   ├──15.安装安装包制作及发布_ev.mp426.37M
|   |   ├──2.软件开发基本流程_ev.mp446.81M
|   |   ├──3.可行性分析及项目开发计划_ev.mp49.05M
|   |   ├──4.需求分析_ev.mp422.42M
|   |   ├──5. 概要设计_ev.mp436.59M
|   |   ├──6.详细设计_ev.mp437.29M
|   |   ├──7.编码(1)之工程创建、成绩打印_ev.mp435.51M
|   |   ├──8.编码(2)之数据存储模块_ev.mp434.33M
|   |   └──9.编码(3)之成绩添加、成绩删除_ev.mp459.49M
|   ├──Git零基础实战
|   |   ├──1.1 Git简介_ev.mp441.41M
|   |   ├──10.1 管理本地文件,防止隐私泄露_ev.mp423.07M
|   |   ├──10.2 发起一个公开项目_ev.mp433.66M
|   |   ├──10.3 发起一个私人项目_ev.mp429.84M
|   |   ├──10.4 搭建本地git服务器_ev.mp457.78M
|   |   ├──10.5 Git+Repo+Gerrit环境介绍_ev.mp434.32M
|   |   ├──2.1 在Windows下面安装git_ev.mp413.65M
|   |   ├──2.2 在Linux下安装git_ev.mp424.36M
|   |   ├──3.1 git仓库创建及配置_ev.mp433.49M
|   |   ├──3.2 git基本流程介绍_ev.mp426.80M
|   |   ├──3.3 分支和标签简单使用_ev.mp49.62M
|   |   ├──4.1 Git基本概念:工作区、暂存区和版本库_ev.mp428.20M
|   |   ├──4.2 git对象模型:blob、tree、commit_ev.mp445.81M
|   |   ├──4.3 git引用:分支和标签_ev.mp437.00M
|   |   ├──5.1 文件管理:文件添加及提交_ev.mp420.88M
|   |   ├──5.2 文件删除_ev.mp424.32M
|   |   ├──5.3 文件重命名_ev.mp48.12M
|   |   ├──5.4 忽略指定格式的文件_ev.mp414.86M
|   |   ├──5.5 撤销本地仓库的修改_ev.mp416.48M
|   |   ├──5.6 差异比较git diff_ev.mp416.62M
|   |   ├──5.7 压缩仓库_ev.mp417.24M
|   |   ├──6.1 commit对象与存储_ev.mp411.48M
|   |   ├──6.2 查看提交历史:git log_ev.mp425.96M
|   |   ├──6.3 提交查找:git grep_ev.mp410.18M
|   |   ├──6.4 提交修改:git revert_ev.mp424.94M
|   |   ├──6.5 Git置位:git reset_ev.mp422.65M
|   |   ├──6.6 给提交重新排序:git rebase_ev.mp423.43M
|   |   ├──6.7 将多个提交合并为一个提交_ev.mp49.72M
|   |   ├──6.8 将一个提交分解为多个提交_ev.mp411.61M
|   |   ├──6.9 恢复隐藏的历史_ev.mp426.28M
|   |   ├──7.1 分支的基本概念_ev.mp419.85M
|   |   ├──7.10 恢复已删除分支的提交_ev.mp422.12M
|   |   ├──7.11 一个脱离了组织的提交:no branch_ev.mp413.12M
|   |   ├──7.2 分支的基本使用_ev.mp422.46M
|   |   ├──7.3 分支的合并_ev.mp410.32M
|   |   ├──7.4 解决合并冲突_ev.mp433.01M
|   |   ├──7.5 压合合并提交_ev.mp412.89M
|   |   ├──7.6 挑选合并_ev.mp413.96M
|   |   ├──7.7 分支衍合_ev.mp428.68M
|   |   ├──7.8 分支合并与衍合的区别_ev.mp430.17M
|   |   ├──7.9 分支修改储藏_ev.mp413.31M
|   |   ├──8.1 远程仓库的概念_ev.mp424.70M
|   |   ├──8.2 使用github代码托管_ev.mp438.36M
|   |   ├──8.3 远程仓库的基本操作_ev.mp425.86M
|   |   ├──8.4 远程分支的基本操作_ev.mp433.86M
|   |   ├──8.5 远程分支和本地分支的区别_ev.mp421.82M
|   |   ├──8.6 添加新的远程版本库_ev.mp410.86M
|   |   └──9.1 标签的远程操作_ev.mp415.71M
|   ├──Linux三剑客配套代码PPT
|   |   ├──Git零基础实战
|   |   ├──Makefile工程实践
|   |   ├──Makefile工程实践(第2季)
|   |   ├──vim从入门到精通
|   |   ├──vim从入门到精通-第2季
|   |   ├──零基础玩转Linux+Ubuntu
|   |   ├──嵌入式软件调试
|   |   └──使用QEMU搭建u-boot+linux+NFS开发环境
|   ├──Makefile工程实践
|   |   ├──1.1 Makefile基本概念_ev.mp464.25M
|   |   ├──1.2 程序的编译和链接_ev.mp438.67M
|   |   ├──2.1 Makefile的基本语法_ev.mp426.09M
|   |   ├──2.2 Makefile基本组成单元:规则_ev.mp449.57M
|   |   ├──2.3 变量_ev.mp447.40M
|   |   ├──2.4 条件执行_ev.mp47.22M
|   |   ├──2.5 函数_ev.mp420.72M
|   |   ├──2.6 库的生成和使用:动态库、静态库_ev.mp429.32M
|   |   ├──2.7 Makefile的执行过程_ev.mp49.36M
|   |   ├──2.8 Makefile的隐含规则_ev.mp422.54M
|   |   ├──3.1 构建MP3项目工程_ev.mp421.07M
|   |   ├──3.10 支持软件的安装与卸载_ev.mp412.20M
|   |   ├──3.11 重构我们的Makefile_ev.mp445.28M
|   |   ├──3.2 自动添加目标头文件的依赖_ev.mp439.48M
|   |   ├──3.3 使用目录管理源文件_ev.mp434.99M
|   |   ├──3.4 使用目录管理目标文件_ev.mp443.69M
|   |   ├──3.5 使用目录管理依赖关系文件_ev.mp441.08M
|   |   ├──3.6 使用目录管理头文件_ev.mp410.90M
|   |   ├──3.7 支持静态库的生成和使用_ev.mp433.08M
|   |   ├──3.8 支持动态库的生成和使用_ev.mp435.95M
|   |   └──3.9 支持第三方静态库、动态库的使用_ev.mp412.58M
|   ├──Makefile工程实践(第2季)
|   |   ├──1.什么是Autotools_ev.mp483.62M
|   |   ├──10.软件打包与发布_ev.mp436.33M
|   |   ├──2.Autotools发展史_ev.mp438.32M
|   |   ├──3.使用变量、宏生成flat目录Makefile_ev.mp445.03M
|   |   ├──4.shallow目录结构的Makefile_ev.mp429.46M
|   |   ├──5.头文件管理、路径指定、对依赖关系的影响_ev.mp458.91M
|   |   ├──6.构建目标文件_ev.mp420.42M
|   |   ├──7.使用libtool构建动态链接库_ev.mp451.05M
|   |   ├──8.使用第三方静态库、动态库_ev.mp424.28M
|   |   └──9.deep目录结构的makefile、库的多目录构建_ev.mp429.78M
|   ├──vim从入门到精通
|   |   ├──1.课程介绍、vim简介及安装_ev.mp429.66M
|   |   ├──10.文本查找与替换_ev.mp427.24M
|   |   ├──11.修改的撤销、重做与保存_ev.mp413.84M
|   |   ├──12.编辑多个文件_ev.mp423.63M
|   |   ├──13.分页与折叠栏_ev.mp428.55M
|   |   ├──14.多窗口操作_ev.mp421.57M
|   |   ├──15.vim配置与插件介绍_ev.mp413.05M
|   |   ├──2.vim工作模式简介_ev.mp427.43M
|   |   ├──3.光标移动_ev.mp444.45M
|   |   ├──4.滚屏与跳转_ev.mp411.12M
|   |   ├──5.文本插入操作_ev.mp415.27M
|   |   ├──6.文本删除操作_ev.mp423.17M
|   |   ├──7.文本复制、剪切与粘贴_ev.mp416.12M
|   |   ├──8.文本修改与替换_ev.mp49.96M
|   |   └──9.组合命令使用_ev.mp415.28M
|   ├──vim从入门到精通-第2季
|   |   ├──0.vim演示视频_ev.mp46.83M
|   |   ├──1.vim配置与配置文件_ev.mp486.08M
|   |   ├──10.C语言插件的使用_ev.mp462.99M
|   |   ├──11.Supertab插件_ev.mp414.73M
|   |   ├──12.C文件和头文件快速切换_ev.mp49.72M
|   |   ├──13.书签的使用_ev.mp49.16M
|   |   ├──14.保存会话信息_ev.mp434.38M
|   |   ├──15.小结与作业_ev.mp429.89M
|   |   ├──2.按键映射_ev.mp461.82M
|   |   ├──3.vim脚本语法_ev.mp448.52M
|   |   ├──4.在函数、变量、宏之间来回跳转_ev.mp437.78M
|   |   ├──5.使用taglist显示函数、宏、结构体列表_ev.mp427.57M
|   |   ├──6.使用Winmanager插件显示文件列表窗口_ev.mp425.52M
|   |   ├──7.cscope查找工具的使用_ev.mp426.24M
|   |   ├──8.使用quickfix显示错误列表和跳转_ev.mp461.29M
|   |   └──9.添加注释_ev.mp411.92M
|   ├──零基础玩转Linux+Ubuntu
|   |   ├──1.1 课程简介及Linux学习路线介绍_ev.mp459.93M
|   |   ├──1.2 Linux和Ubuntu的关系_ev.mp417.79M
|   |   ├──1.3 ubuntu16.04安装以及新特性介绍_ev.mp445.54M
|   |   ├──1.4 X-window和桌面环境KDE、GNOME_ev.mp417.69M
|   |   ├──2.1 linux基本命令使用_ev.mp476.94M
|   |   ├──2.2 Linux高级命令简单使用_ev.mp433.89M
|   |   ├──2.3 shell脚本入门_ev.mp431.49M
|   |   ├──2.4 vi及vim入门_ev.mp449.24M
|   |   ├──2.5 Make工程管理_ev.mp438.10M
|   |   ├──3.1 什么是环境变量_ev.mp459.36M
|   |   ├──3.2 文件系统管理_ev.mp440.95M
|   |   ├──3.3 用户账户管理_ev.mp450.92M
|   |   ├──3.4 文件访问权限_ev.mp429.94M
|   |   ├──3.5 进程管理_ev.mp435.96M
|   |   ├──3.6 源码软件包的编译、安装、卸载_ev.mp458.68M
|   |   ├──3.7 制作自己的deb软件安装包_ev.mp423.63M
|   |   ├──3.8 使用apt安装卸载软件_ev.mp429.73M
|   |   ├──3.9 使用wine安装Windows应用软件_ev.mp424.84M
|   |   ├──4.1 NFS服务器配置及使用_ev.mp420.81M
|   |   ├──4.2 Samba服务器配置及使用_ev.mp427.50M
|   |   ├──4.3 SSH远程登录_ev.mp437.71M
|   |   └──4.4 FTP服务器配置及使用_ev.mp436.90M
|   ├──嵌入式软件调试
|   |   ├──专题1:软件调试理论基础
|   |   ├──专题2:printf函数打印高阶技巧(免费)
|   |   └──专题3:Linux内核日志打印技巧
|   └──使用QEMU搭建u-boot+linux+NFS开发环境
|   |   ├──1.为什么要使用QEMU学习嵌入式开发_ev.mp449.92M
|   |   ├──2.搭建嵌入式开发基本环境_ev.mp483.73M
|   |   ├──3.QEMU安装及仿真开发板介绍_ev.mp469.16M
|   |   ├──4.编译Linux内核镜像和dtb文件_ev.mp432.40M
|   |   ├──5.使用busybo制作根文件系统_ev.mp477.20M
|   |   ├──6.使用u-boot引导Linux内核镜像_ev.mp474.18M
|   |   ├──7.挂载NFS文件系统_ev.mp417.44M
|   |   ├──8.完善NFS根文件系统_ev.mp425.45M
|   |   └──9.在开发板上运行应用和驱动程序_ev.mp415.38M
├──王利涛-linux高级编程
|   ├──第1期:C语言进阶路线学习指南
|   |   ├──1.1 嵌入式C语言进阶学习路线指南_带片头.mp4113.90M
|   |   ├──1.2 代码编译工具Vim使用命令.mp4122.51M
|   |   ├──1.3 使用GCC、Make编译源程序.mp4117.53M
|   |   └──1.4 使用Git管理软件项目版本.mp4126.37M
|   ├──第2期:计算机系统架构与ARM汇编语言
|   |   ├──2.1 计算机体系结构.mp4110.52M
|   |   ├──2.10 C和汇编混合编程.mp4133.37M
|   |   ├──2.11 GNU ARM汇编语言.mp4332.97M
|   |   ├──2.12 链接脚本.mp486.26M
|   |   ├──2.13 嵌入式系统启动流程.mp4195.68M
|   |   ├──2.2 X86与ARM架构对比分析.mp4101.47M
|   |   ├──2.3 C51与ARM架构对比分析.mp451.71M
|   |   ├──2.4 总线与地址.mp4125.97M
|   |   ├──2.5 指令集、微架构与编译器.mp4103.48M
|   |   ├──2.6 ARM体系结构与寻址方式.mp4344.04M
|   |   ├──2.7 ARM汇编指令.mp4165.41M
|   |   ├──2.8 ARM伪指令.mp4119.78M
|   |   └──2.9 ARM汇编程序与伪操作.mp4118.69M
|   ├──第3期:程序的编译、链接和运行
|   |   ├──3.1 程序的编译与可执行文件.mp4112.89M
|   |   ├──3.10 程序的运行.mp4184.00M
|   |   ├──3.11 BSS段的处理.mp498.94M
|   |   ├──3.12 main函数入口分析.mp4220.87M
|   |   ├──3.13 链接静态库.mp478.26M
|   |   ├──3.14 动态链接(1):与位置无关的代码.mp4184.13M
|   |   ├──3.15 动态链接(2):全局符号表GOT.mp4296.94M
|   |   ├──3.16 动态链接(3):共享库.mp4141.85M
|   |   ├──3.17 开发一个插件.mp489.28M
|   |   ├──3.18 内核模块加载机制.mp4112.40M
|   |   ├──3.19 binutils工具集.mp4154.40M
|   |   ├──3.2 GCC命令参数.mp4145.41M
|   |   ├──3.20 linux内核加载实验.mp4488.65M
|   |   ├──3.21 u-boot重定位分析(上).mp4416.72M
|   |   ├──3.22 u-boot重定位分析(下).mp4350.04M
|   |   ├──3.3 预处理过程.mp497.59M
|   |   ├──3.4 编译过程(1):从源程序到汇编文件.mp4158.85M
|   |   ├──3.5 编译过程(2):汇编过程.mp4112.92M
|   |   ├──3.6 编译过程(3):符号表.mp4220.59M
|   |   ├──3.7 链接过程(1):地址空间分配与链接脚本.mp4158.18M
|   |   ├──3.8 链接过程(2):符号解析-强符号与弱符号.mp4280.20M
|   |   └──3.9 链接过程(3):重定位.mp4229.38M
|   ├──第4期:堆栈内存管理
|   |   ├──4.1 程序与内存的关系.mp473.08M
|   |   ├──4.10 ucos堆内存管理.mp4231.16M
|   |   ├──4.11 Linux堆内存管理(1):内存分配器.mp4148.92M
|   |   ├──4.12 linux堆内存管理(2):内存申请与释放.mp4281.78M
|   |   ├──4.13 Linux堆内存管理(3):内存申请释放示例.mp4148.79M
|   |   ├──4.14 内存泄露与防范.mp4179.97M
|   |   ├──4.15 常见内存错误及检测.mp4204.43M
|   |   ├──4.16 实战&作业:实现自己的堆管理器.mp4101.69M
|   |   ├──4.2 栈的初始化及大小.mp4119.81M
|   |   ├──4.3 栈的管理:函数调用.mp4190.51M
|   |   ├──4.4 栈的管理:参数传递.mp4122.67M
|   |   ├──4.5 形参与实参.mp490.65M
|   |   ├──4.6 栈与作用域.mp4165.31M
|   |   ├──4.7 栈溢出攻击原理.mp4157.80M
|   |   ├──4.8 实战:栈溢出攻击示例.mp4130.54M
|   |   └──4.9 堆内存管理:内存申请与释放.mp4130.39M
|   ├──第5期:Linux内核中的GNU C扩展语法
|   |   ├──5.1 什么是C语言标准?.mp4114.28M
|   |   ├──5.10 属性声明:const.mp443.35M
|   |   ├──5.11 属性声明:weak & alias.mp4137.86M
|   |   ├──5.12 属性声明:constructor & destructor.mp462.59M
|   |   ├──5.13 属性声明:noinline & always_inline.mp489.10M
|   |   ├──5.14 属性声明:mode.mp460.13M
|   |   ├──5.15 属性声明:noreturn.mp433.54M
|   |   ├──5.16 属性声明:used & unused.mp415.53M
|   |   ├──5.17 内建函数.mp472.57M
|   |   ├──5.18 内建函数:__builtin_constant_p.mp439.71M
|   |   ├──5.19 内建函数:__builtin_expect.mp4207.72M
|   |   ├──5.2 C标准发展过程及新增特性.mp4292.15M
|   |   ├──5.20 case范围扩展.mp431.59M
|   |   ├──5.21 do{}while(0).mp433.05M
|   |   ├──5.22 可变参数宏.mp4118.06M
|   |   ├──5.23 局部标签.mp430.66M
|   |   ├──5.24 标号元素.mp457.41M
|   |   ├──5.3 语句表达式.mp4265.69M
|   |   ├──5.4 typeof.mp4137.95M
|   |   ├──5.5 container_of.mp4195.37M
|   |   ├──5.6 零长度数组.mp4200.84M
|   |   ├──5.7 属性声明:section.mp4301.60M
|   |   ├──5.8 属性声明:aligned & packed.mp4200.00M
|   |   └──5.9 属性声明:format.mp4338.01M
|   ├──第6期:数据存储与指针
|   |   ├──6.1 存储才是C语言的精髓.mp438.56M
|   |   ├──6.10 常量存储.mp4121.58M
|   |   ├──6.11 从变量到指针.mp4169.35M
|   |   ├──6.12 一些复杂的指针声明.mp4126.75M
|   |   ├──6.13 指针类型与运算.mp463.42M
|   |   ├──6.14 指针与数组的暧昧:下标运算.mp474.16M
|   |   ├──6.15 指针与数组的暧昧:数组名.mp4101.11M
|   |   ├──6.16 指针与数组的暧昧:数值指针与指针数组.mp4117.77M
|   |   ├──6.17 指针与结构体.mp4140.43M
|   |   ├──6.18 二级指针:修改指针变量.mp464.52M
|   |   ├──6.19 二级指针:指针数组传参.mp429.68M
|   |   ├──6.2 存储的基本概念.mp482.43M
|   |   ├──6.20 二级指针:二维数组.mp4135.29M
|   |   ├──6.21 指针函数与函数指针.mp476.56M
|   |   ├──6.22 重新认识void.mp4106.64M
|   |   ├──6.3 有符号数和无符号数.mp4151.59M
|   |   ├──6.4 数据溢出.mp4112.90M
|   |   ├──6.5 数据对齐.mp4133.15M
|   |   ├──6.6 数据类型转换.mp4119.27M
|   |   ├──6.7 数据的可移植性.mp4131.90M
|   |   ├──6.8 内核中的size_t数据类型.mp455.91M
|   |   └──6.9 变量的本质.mp4207.93M
|   ├──第7期:嵌入式数据结构和Linux面向对象思想
|   |   ├──7.1 本期学习主要内容.mp435.35M
|   |   ├──7.10 队列:链式队列.mp4106.64M
|   |   ├──7.11 Linux内核中的队列:KFIFO(上).mp4173.07M
|   |   ├──7.12 Linux内核中的队列:KFIFO(下).mp4160.98M
|   |   ├──7.13 代码复用与分层思想.mp494.25M
|   |   ├──7.14 面向对象编程:封装、继承与多态.mp4213.55M
|   |   ├──7.15 Linux内核的面向对象思想:封装(上).mp4216.28M
|   |   ├──7.16 Linux内核的面向对象思想:封装(下).mp4147.09M
|   |   ├──7.17 Linux内核的面向对象思想:继承(上).mp4190.48M
|   |   ├──7.18 Linux内核的面向对象思想:继承(下).mp4220.40M
|   |   ├──7.19 Linux内核的面向对象思想:多态.mp4101.45M
|   |   ├──7.2 数据结构基础.mp499.51M
|   |   ├──7.3 单向链表.mp4214.90M
|   |   ├──7.4 单循环链表.mp4116.65M
|   |   ├──7.5 双向链表.mp4185.46M
|   |   ├──7.6 双向循环链表.mp4119.22M
|   |   ├──7.7 Linux内核中的通用链表(上).mp4191.42M
|   |   ├──7.8 Linux内核中的通用链表(下).mp4184.01M
|   |   └──7.9 队列:顺序队列.mp4157.92M
|   ├──第8期:C语言的模块化编程
|   |   ├──20.模块间通信(上):全局变量.mp4145.63M
|   |   ├──21 模块间通信(中):回调函数.mp4168.28M
|   |   ├──22 模块间通信(下):异步通信.mp433.22M
|   |   ├──23 模块设计进阶:跨平台设计.mp4101.48M
|   |   ├──24 模块设计进阶:框架(framework).mp4133.71M
|   |   ├──8.1 如何从零做一碗炸酱面.mp481.97M
|   |   ├──8.10 头文件剖析:变量声明.mp4168.61M
|   |   ├──8.11 头文件剖析:前向引用.mp4164.13M
|   |   ├──8.12 头文件剖析:头文件路径(上).mp4261.81M
|   |   ├──8.13 头文件剖析:头文件路径(下).mp4168.12M
|   |   ├──8.14 Linux内核中的头文件.mp4258.01M
|   |   ├──8.15 头文件之间的依赖关系.mp4216.81M
|   |   ├──8.16 定义与声明的一致性.mp436.43M
|   |   ├──8.17 头文件中的内联函数.mp465.02M
|   |   ├──8.18 模块设计原则:高内聚低耦合.mp493.92M
|   |   ├──8.19 被误解的关键字:goto.mp441.89M
|   |   ├──8.2 模块的编译和链接(上).mp489.68M
|   |   ├──8.3 模块的编译和链接(下).mp4137.20M
|   |   ├──8.4 系统模块划分.mp4115.23M
|   |   ├──8.5 面向对象的思维陷阱.mp445.24M
|   |   ├──8.6 规划合理的目录结构.mp4131.96M
|   |   ├──8.7 一个模块的封装过程.mp424.53M
|   |   ├──8.8 头文件剖析:基本概念.mp4179.19M
|   |   └──8.9 头文件剖析:隐式声明.mp4123.51M
|   ├──第9期:CPU和操作系统入门
|   |   ├──9.1 CPU和操作系统入门.mp443.05M
|   |   ├──9.10 中断(上):中断处理流程.mp474.93M
|   |   ├──9.11 中断(中):进程栈与中断栈.mp4141.34M
|   |   ├──9.12 中断(下):中断函数的编写.mp491.32M
|   |   ├──9.13 存储器映射(上).mp4173.67M
|   |   ├──9.14 存储器映射(下).mp491.71M
|   |   ├──9.15 存储抽象:文件系统.mp4121.23M
|   |   ├──9.16 内存、外存与外设.mp4105.93M
|   |   ├──9.17 IO端口与IO内存.mp460.30M
|   |   ├──9.18 位运算(上).mp4132.89M
|   |   ├──9.19 位运算(下).mp4103.62M
|   |   ├──9.2 多任务的裸机实现(上).mp486.16M
|   |   ├──9.20 位域.mp449.58M
|   |   ├──9.21 内管管理单元MMU(上).mp4151.36M
|   |   ├──9.22 内存管理单元MMU(下).mp451.72M
|   |   ├──9.23 本期小结.mp422.76M
|   |   ├──9.3 多任务的裸机实现(下).mp485.91M
|   |   ├──9.4 调度器的工作原理.mp4123.38M
|   |   ├──9.5 函数栈与进程栈.mp471.17M
|   |   ├──9.6 可重入函数.mp467.38M
|   |   ├──9.7 临界区与临界资源.mp489.93M
|   |   ├──9.8 系统调用(上).mp4108.70M
|   |   └──9.9 系统调用(下).mp487.03M
|   └──C语言嵌入式Linux高级编程配套代码.zip25.92M
├──王利涛-Linux内核编程
|   ├──Linux内核编程00:入门篇
|   |   └──Linux内核编程:入门篇
|   ├──Linux内核编程01:模块机制
|   |   ├──Linux内核编程:模块机制视频
|   |   ├──lkm_code
|   |   └──Linux内核编程:模块机制.pdf755.58kb
|   ├──Linux内核编程02:Kbuild编译系统
|   |   ├──01 Kbuild 简介.mp4123.35M
|   |   ├──02 Kbuild工作流程.mp4163.19M
|   |   ├──03 Kbuild编译系统组成.mp496.39M
|   |   ├──04 kconfig 简介.mp4123.48M
|   |   ├──05 Kconfig菜单条目.mp496.29M
|   |   ├──06 依赖关系: depends on.mp476.38M
|   |   ├──07 弱反向依赖:select、imply.mp454.15M
|   |   ├──08 内核配置中的反向依赖.mp432.55M
|   |   ├──09 Kconfig menuconfig菜单.mp495.61M
|   |   ├──10 Kconfig choice 互斥菜单.mp437.21M
|   |   ├──11 Kconfig 子菜单.mp450.44M
|   |   ├──12 更多的内核编译目标.mp4136.74M
|   |   ├──13 .config文件(上).mp4203.52M
|   |   ├──14 .config文件(下).mp487.65M
|   |   ├──15 Kbuild Makefile工作流程.mp4162.11M
|   |   ├──16 vmlinux编译过程分析.mp4212.96M
|   |   ├──17 built-in.a生成分析.mp4161.78M
|   |   ├──18 单个目标文件生成分析.mp468.73M
|   |   ├──19 zImage镜像生成分析.mp4170.37M
|   |   ├──20 uImage镜像生成分析.mp435.56M
|   |   ├──21 内核模块编译分析.mp499.34M
|   |   ├──22 modules_install过程分析.mp469.85M
|   |   ├──23 头文件安装过程分析.mp4114.98M
|   |   ├──24 内核中的空头文件探秘.mp4402.50M
|   |   ├──Linux内核编程:Kbuild编译系统.pdf888.11kb
|   |   └──Readme.txt0.18kb
|   ├──Linux内核编程03:系统调用
|   |   ├──Linux内核编程03:系统调用
|   |   ├──Linux内核编程03期:系统调用流程图.pdf60.85kb
|   |   └──syscall.tar.gz40.00kb
|   ├──Linux内核编程04期:中断
|   |   ├──00 本期课程主要内容.mp495.31M
|   |   ├──01 中断子系统框架.mp499.11M
|   |   ├──02 中断控制器:GIC.mp4128.67M
|   |   ├──03 GIC控制器中断处理流程.mp4299.95M
|   |   ├──04 编写RTC裸机中断程序.mp4153.73M
|   |   ├──05 中断函数的编写规则.mp497.88M
|   |   ├──06 在Linux下编写RTC驱动中断程序.mp4172.99M
|   |   ├──07 Linux中断处理流程.mp4329.02M
|   |   ├──08 中断上半部和下半部.mp4109.16M
|   |   ├──09 SoftIRQ:软中断.mp4155.37M
|   |   ├──10 软中断的运行.mp4186.65M
|   |   ├──11 中断下半部:tasklet.mp4172.85M
|   |   ├──12 tasklet的运行.mp478.11M
|   |   ├──13 中断下半部:workqueue.mp498.23M
|   |   ├──14 延迟工作队列:delayed work.mp489.07M
|   |   ├──15 workqueue工作队列的运行.mp4119.30M
|   |   ├──16 CMWQ工作队列编程实战.mp4185.73M
|   |   ├──17 CMWQ工作队列的运行.mp4177.52M
|   |   ├──18 中断线程化:request_threaded_irq.mp4174.79M
|   |   ├──Linux内核编程:中断流程图.pdf85.34kb
|   |   └──中断:代码、datasheet、PPT文档.rar4.05M
|   ├──Linux内核编程05期:字符设备驱动开发
|   |   ├──视频配套代码文档
|   |   ├──00 本期课程规划.mp444.01M
|   |   ├──01 字符设备驱动开发框架.mp4196.55M
|   |   ├──02 编写第一个字符驱动:RTC.mp477.59M
|   |   ├──03 内核源码解读:字符设备的注册过程.mp4245.34M
|   |   ├──04 内核源码解读:字符设备的open和read.mp4422.92M
|   |   ├──05 使用cdev接口编写字符驱动.mp4201.97M
|   |   ├──06 动态申请设备号.mp4127.17M
|   |   ├──07 自动创建设备节点.mp4170.97M
|   |   ├──08 实现字符驱动接口:write.mp4125.22M
|   |   ├──09 设备驱动的私有数据:private_data.mp4152.87M
|   |   ├──10 实现字符驱动接口:ioctl.mp4147.41M
|   |   ├──11 ioctl命令编码规范.mp4145.58M
|   |   ├──12 让你的驱动更加稳定高效.mp4191.56M
|   |   ├──13 ioctl接口封装:rtc库函数.mp4102.63M
|   |   ├──14 编写用户手册和文档.mp4108.85M
|   |   └──Linux字符设备驱动架构.pdf73.23kb
|   ├──Linux内核编程06期:文件系统
|   |   ├──Linux内核编程06:文件系统(上)
|   |   ├──Linux内核编程06:文件系统(下)
|   |   └──Linux内核编程06期:文件系统流程图.pdf162.38kb
|   ├──Linux内核编程07期:proc文件系统
|   |   ├──Linux内核编程07:proc文件系统
|   |   └──Linux内核编程07期:proc文件系统.pdf83.20kb
|   ├──Linux内核编程08:debugfs文件系统
|   |   ├──00 什么是debugfs?.mp4152.22M
|   |   ├──01 debugfs的配置编译和注册运行.mp4126.23M
|   |   ├──02 第一个debugfs编程示例.mp4153.28M
|   |   ├──03 通过debugfs导出整型数据.mp4100.18M
|   |   ├──04 通过debugfs导出16进制数据.mp432.58M
|   |   ├──05 通过debugfs导出数组.mp454.00M
|   |   ├──06 通过debugfs导出内存数据块.mp491.25M
|   |   ├──07 通过debugfs导出自定义格式数据.mp489.10M
|   |   ├──08 在debugfs下使用seq_file接口.mp4123.60M
|   |   ├──09 使用seq_file接口访问数组.mp475.01M
|   |   ├──10 使用seq_file接口访问链表.mp473.13M
|   |   ├──11 通过debugfs导出寄存器列表.mp4104.24M
|   |   ├──12 通过debugfs修改RTC寄存器.mp488.30M
|   |   ├──13 通过debugfs导出RTC驱动调试接口.mp4206.57M
|   |   └──debugfs.tar.gz330.00kb
|   ├──Linux内核编程09:设备模型和sysfs文件系统
|   |   ├──00 什么是设备模型?.mp4187.23M
|   |   ├──01 设备模型基础:kobject.mp4160.30M
|   |   ├──02 设备模型基础:attribute(上).mp4119.11M
|   |   ├──03 设备模型基础:attribute(下).mp4120.90M
|   |   ├──04 kobject和sysfs的关联.mp4182.07M
|   |   ├──05 sysfs目录创建过程分析.mp4198.84M
|   |   ├──06 sysfs文件创建过程分析.mp4171.28M
|   |   ├──07 VFS inode的生成过程分析.mp4211.22M
|   |   ├──08 sysfs文件打开过程分析.mp4143.49M
|   |   ├──09 sysfs文件读写过程分析.mp4244.70M
|   |   ├──10 kobject的生命周期.mp4225.85M
|   |   ├──11 设备模型基础:kset.mp4310.11M
|   |   ├──12 热插拔事件:uevent(上).mp4319.17M
|   |   ├──13 热插拔事件:uevent(中).mp4195.55M
|   |   ├──14 热插拔事件:uevent(下).mp4212.04M
|   |   ├──15 用OOP思想分析设备模型.mp493.61M
|   |   ├──16 设备模型:bus(上).mp4125.33M
|   |   ├──17 设备模型:bus(下).mp4119.38M
|   |   ├──18 设备模型:device(上).mp4121.53M
|   |   ├──19 设备模型:device(下).mp4379.30M
|   |   ├──20 设备模型:device_driver(上).mp4157.93M
|   |   ├──21 设备模型:device_driver(下).mp4177.64M
|   |   ├──22 bus probe 和 driver probe.mp4156.91M
|   |   ├──23 设备模型:class(上).mp4194.28M
|   |   ├──24 设备模型:class(下).mp4324.97M
|   |   ├──25 device的二次抽象.mp4195.31M
|   |   ├──26 实现一个总线子系统.mp4138.91M
|   |   ├──27 驱动复用:match_table.mp4102.50M
|   |   ├──28 设备的热插拔(hotplug)机制分析.mp4117.19M
|   |   ├──29 从字符驱动到总线驱动(上).mp4137.53M
|   |   ├──30 从字符驱动到总线驱动(下).mp4166.39M
|   |   ├──31 本期课程小结.mp445.81M
|   |   ├──Linux内核编程09期-代码PPT.rar858.33kb
|   |   └──Linux内核编程09期:设备模型流程图.pdf114.52kb
|   ├──Linux内核编程10:platform设备驱动
|   |   ├──00 本期课程主要知识点.mp497.33M
|   |   ├──01 编写第一个platform驱动.mp4146.61M
|   |   ├──02 platform设备驱动注册过程.mp4127.94M
|   |   ├──03 platform bus match方法.mp4122.08M
|   |   ├──04 注册一个字符设备驱动.mp4160.05M
|   |   ├──05 自动创建设备节点.mp4103.97M
|   |   ├──06 platform resource.mp4198.69M
|   |   ├──07 设备类接口的抽象与回调.mp4187.30M
|   |   ├──08 实现自己的RTC子系统.mp4159.46M
|   |   ├──09 设备的资源管理(上).mp4146.32M
|   |   ├──10 设备的资源管理(下).mp4160.35M
|   |   ├──11 本期课程小结及编程作业.mp4161.28M
|   |   └──platform.tar.gz160.00kb
|   ├──Linux内核编程11期:设备树
|   |   ├──01 为什么要引入device tree?.mp4270.88M
|   |   ├──02 如何编译和运行device tree?.mp4188.13M
|   |   ├──03 使用设备树接口编写platform驱动.mp4197.12M
|   |   ├──04 SoC芯片架构:总线与片选.mp4222.54M
|   |   ├──05 SoC芯片架构:桥接(bridge).mp490.79M
|   |   ├──06 SoC芯片架构:extend bus.mp4164.99M
|   |   ├──07 device tree 基本语法:node.mp4148.26M
|   |   ├──08 device tree 基本语法:property.mp4159.83M
|   |   ├──09 设备树实例分析:CPU node.mp4173.05M
|   |   ├──10 设备树实例分析:memory node.mp439.16M
|   |   ├──11 设备树实例分析:外设.mp490.25M
|   |   ├──12 设备树实例分析:中断控制器.mp4142.78M
|   |   ├──13 设备树实例分析:中断映射.mp4170.48M
|   |   ├──14 设备树实例分析:时钟.mp485.14M
|   |   ├──15 extend bus(上):I2C Client.mp497.94M
|   |   ├──16 extend bus(下):内存映射型设备.mp4210.91M
|   |   ├──17 设备树实例分析:GPIO.mp4168.34M
|   |   ├──18 设备树实例分析:pinmux(上).mp4160.65M
|   |   ├──19 设备树实例分析:pinmux(下).mp4258.70M
|   |   ├──20 dts 和 dtsi 文件的分离.mp4178.99M
|   |   ├──21 property的overwrite.mp4296.68M
|   |   ├──22 dtb文件格式.mp480.86M
|   |   ├──23 platform device自动展开分析(上).mp4209.01M
|   |   ├──24 platform device自动展开分析(下).mp4227.07M
|   |   ├──25 I2C 设备的自动展开.mp4208.18M
|   |   ├──26 哪些node自动展开为platform_device?.mp4239.86M
|   |   ├──27 设备树节点解析:CPU node.mp4225.87M
|   |   ├──28 设备树节点解析:memory mode.mp4175.34M
|   |   ├──29 设备树节点解析:chosen node(上).mp4108.48M
|   |   ├──30 设备树节点解析:chosen node(下).mp4162.97M
|   |   ├──31 设备树节点解析:aliases node.mp487.37M
|   |   ├──32 设备树节点解析:获取 IRQ number.mp4175.08M
|   |   ├──33 设备树节点解析:获取 Register 地址.mp4109.07M
|   |   ├──34 设备树节点解析:GPIO.mp4273.32M
|   |   ├──35 device bingdings & guidelines.mp4156.94M
|   |   ├──Linux内核编程11期:设备树流程图.pdf115.04kb
|   |   └──Linux内核编程11期:设备树文档代码.rar2.18M
|   ├──Linux内核编程12:设备树的overlay与ConfigFS
|   |   ├──01 什么是设备树的overlay?.mp4119.07M
|   |   ├──02 设备树overlay实现原理分析.mp486.55M
|   |   ├──03 ConfigFS 的编译与挂载.mp4117.33M
|   |   ├──04 ConfigFS 的核心数据结构.mp4167.29M
|   |   ├──05 通过ConfigFS加载二进制文件.mp4118.62M
|   |   ├──06 创建ConfigFS子目录.mp4240.49M
|   |   ├──07 创建ConfigFS多级子目录.mp4209.44M
|   |   ├──08 ConfigFS mkdir 过程分析.mp4166.24M
|   |   ├──09 实现设备树的overlay功能.mp4206.57M
|   |   ├──10 向设备树动态添加节点(上).mp4145.65M
|   |   ├──11 向设备树动态添加节点(下).mp457.73M
|   |   ├──12 设备树overlay加载过程分析.mp4110.34M
|   |   ├──13 设备树overlay解析过程分析.mp4145.19M
|   |   ├──14 同时加载多个设备树overlay.mp478.64M
|   |   └──Linux内核编程12期_PPT_代码.rar480.69kb
|   ├──Linux内核编程13:内存管理
|   |   ├──01 什么是内存管理?.mp427.40M
|   |   ├──02 内存硬件电路与接口.mp430.25M
|   |   ├──03 物理内存管理:page zone和node.mp474.31M
|   |   ├──04 伙伴系统:buddy system.mp461.32M
|   |   ├──05 物理页面的迁移类型:migratetype.mp435.25M
|   |   ├──06 Per-CPU页帧缓存.mp428.30M
|   |   ├──07 页分配器接口:alloc_pages.mp460.76M
|   |   ├──08 连续内存分配器:CMA.mp447.85M
|   |   ├──09 伙伴系统初始化 一 :memblock管理器.mp462.60M
|   |   ├──10 伙伴系统初始化 二 :memblock内存释放.mp444.62M
|   |   ├──11 伙伴系统初始化 三 :.init内存释放.mp442.84M
|   |   ├──12 伙伴系统初始化 四 :CMA内存释放.mp445.51M
|   |   ├──13 slab slob和slub分配器.mp487.67M
|   |   ├──14 kmalloc机制实现分析.mp443.98M
|   |   ├──15 虚拟地址和MMU工作原理.mp445.57M
|   |   ├──16 二级页表的工作原理.mp440.54M
|   |   ├──17 揭开页表神秘的面纱(上).mp451.66M
|   |   ├──18 揭开页表神秘的面纱(下).mp4133.59M
|   |   ├──19 TLB 和 Table Walk Unit.mp417.15M
|   |   ├──20 Linux虚拟内存管理.mp440.85M
|   |   ├──21 虚拟内存管理:线性映射区.mp421.48M
|   |   ├──22 低端内存和高端内存的边界划分.mp475.88M
|   |   ├──23 二级页表的创建过程分析(上).mp432.84M
|   |   ├──24 二级页表的创建过程分析(中).mp430.90M
|   |   ├──25 二级页表的创建过程分析(下).mp4165.41M
|   |   ├──26 虚拟内存管理:vmalloc区.mp4105.59M
|   |   ├──27 寄存器映射:ioremap.mp436.76M
|   |   ├──28 高端内存映射.mp4139.79M
|   |   ├──29 虚拟内存管理:pkmap区.mp469.78M
|   |   ├──30 虚拟内存管理:fixmap区.mp415.93M
|   |   ├──31 虚拟内存管理:modules区.mp456.74M
|   |   ├──32 用户进程的页表.mp4101.66M
|   |   ├──33 缺页异常机制.mp482.85M
|   |   ├──34 用户页表的刷新.mp440.53M
|   |   ├──35 mmap映射机制:编程实例.mp457.33M
|   |   ├──36 mmap映射机制:remap_pfn_range.mp4127.09M
|   |   ├──37 mmap映射机制:文件映射.mp486.80M
|   |   ├──38 文件映射缺页异常.mp490.39M
|   |   ├──39 设备映射缺页异常.mp427.07M
|   |   ├──40 mmap映射机制:匿名映射.mp467.90M
|   |   ├──41 私有映射和共享映射.mp430.08M
|   |   ├──42 系统调用brk实现机制.mp461.09M
|   |   ├──43 反向映射.mp434.27M
|   |   └──44 Linux内存管理小结.mp425.26M
|   ├──彩蛋:Linux内存管理
|   |   ├──Linux内存管理子系统全景图.pdf145.76kb
|   |   ├──Linux内核编程13期:内存管理.pdf2.08M
|   |   └──memory_system.tar.gz80.00kb
|   └──Linux内核编程:入门篇.pdf1.04M
├──王利涛-linux系统编程
|   ├──第00期:入门篇(免费观看)
|   |   ├──0.1 什么是系统编程t?.mp466.23M
|   |   ├──0.10 GNU编码风格.mp458.46M
|   |   ├──0.11 Linux哲学:一切皆文件.mp447.21M
|   |   ├──0.12 编程实战:音频播放器(上).mp478.34M
|   |   ├──0.13 编程实战:音频播放器(下)t.mp447.97M
|   |   ├──0.14 后续课程学习路线t.mp416.43M
|   |   ├──0.2 一个系统编程的例子(上)t.mp491.89M
|   |   ├──0.3 一个系统编程的例子(下)t.mp451.86M
|   |   ├──0.4 系统调用与C标准库.mp498.08M
|   |   ├──0.5 POSIX标准.mp443.24M
|   |   ├──0.6 系统编程必备技能(上):man命令.mp473.84M
|   |   ├──0.7 系统编程必备技能(中):info命令.mp435.82M
|   |   ├──0.8 系统编程必备技能(下):strace命令.mp470.83M
|   |   ├──0.9 系统调用错误处理.mp450.53M
|   |   └──Linux系统编程第00期.zip35.87M
|   ├──第01期:揭开文件系统的神秘面纱
|   |   ├──1.1 本期课程规划t.mp466.90M
|   |   ├──1.10 文件系统的挂载.mp476.53M
|   |   ├──1.11 文件系统类型.mp463.58M
|   |   ├──1.12 虚拟文件系统:VFS.mp448.28M
|   |   ├──1.13 文件描述符.mp457.91M
|   |   ├──1.14 文件指针.mp471.64M
|   |   ├──1.15 硬链接和软链接.mp484.79M
|   |   ├──1.16 一些命令.mp476.52M
|   |   ├──1.17 实验:磁盘格式化及挂载.mp481.35M
|   |   ├──1.18 实验:恢复删除的文件t.mp487.53M
|   |   ├──1.2 文件在磁盘上的存储(上)t.mp464.77M
|   |   ├──1.3 文件在磁盘上的存储(下).mp444.22M
|   |   ├──1.4 文件在Flash上的存储(上).mp4173.83M
|   |   ├──1.5 文件在Flash上的存储(下).mp460.13M
|   |   ├──1.6 文件系统索引节点:inode.mp472.38M
|   |   ├──1.7 超级块:superblock.mp495.82M
|   |   ├──1.8 目录和目录项.mp471.66M
|   |   └──1.9 文件路径解析.mp478.95M
|   ├──第02期:文件IO编程实战
|   |   ├──2.1 本期课程简介t.mp4109.29M
|   |   ├──2.10 实现ls命令:支持-c参数.mp4152.84M
|   |   ├──2.11 音频播放器:实现循环列表播放.mp4147.45M
|   |   ├──2.12 实现ls命令:支持-l参数.mp4257.84M
|   |   ├──2.13 有关目录的其它操作.mp430.48M
|   |   ├──2.14 相对路径转绝对路径.mp437.61M
|   |   ├──2.15 编程实战:实现 wc 命令(上).mp4119.61M
|   |   ├──2.16 编程实战:实现 wc 命令(中).mp4102.37M
|   |   ├──2.17 编程实战:实现 wc 命令(下).mp4234.47M
|   |   ├──2.2 文件的打开模式t.mp4195.06M
|   |   ├──2.3 文件的读写权限t.mp4131.84M
|   |   ├──2.4 文件的读写函数.mp498.87M
|   |   ├──2.5 文件读写位置与定位.mp499.54M
|   |   ├──2.6 获取文件的属性信息.mp4121.42M
|   |   ├──2.7 实现shell命令:ll.mp4265.26M
|   |   ├──2.8 读取目录文件内容.mp494.78M
|   |   └──2.9 实现ls命令:支持多个目录.mp461.66M
|   ├──第03期:文件IO缓存与内存映射
|   |   ├──3.1 缓存的基本概念t.mp436.89M
|   |   ├──3.10 文件映射内存的实现.mp445.49M
|   |   ├──3.11 将设备映射到内存.mp488.49M
|   |   ├──3.2 页高速缓存(上)t.mp4107.00M
|   |   ├──3.3 页高速缓存(中).mp4113.74M
|   |   ├──3.4 页高速缓存(下).mp472.64M
|   |   ├──3.5 块设备驱动架构.mp476.27M
|   |   ├──3.6 用户空间的IO缓存.mp486.06M
|   |   ├──3.7 Scatter_Gather IO.mp461.07M
|   |   ├──3.8 直接IO.mp447.02M
|   |   └──3.9 将文件映射到内存.mp461.78M
|   ├──第04期:打通进程与终端的任督二脉
|   |   ├──4.1 进程:程序运行的“牌照”t.mp478.06M
|   |   ├──4.10 进程状态.mp484.12M
|   |   ├──4.11 进程的UID和GID.mp4188.24M
|   |   ├──4.12 通过proc查看进程资源.mp4143.21M
|   |   ├──4.13 与进程通信:信号.mp4107.33M
|   |   ├──4.14 终端与控制台.mp4133.61M
|   |   ├──4.15 进程组与会话.mp4193.60M
|   |   ├──4.16 前台进程和后台进程.mp471.52M
|   |   ├──4.17 守护进程.mp4147.62M
|   |   ├──4.18 僵尸进程.mp449.91M
|   |   ├──4.19 孤儿进程.mp488.57M
|   |   ├──4.2 创建一个进程:fork t.mp479.31M
|   |   ├──4.20 0号进程和1号进程.mp4171.08M
|   |   ├──4.21 小结:Linux进程全景图.mp4163.46M
|   |   ├──4.3 子进程的运行:借壳上市.mp4245.44M
|   |   ├──4.4 写时复制与vfork.mp496.49M
|   |   ├──4.5 进程的退出:exit.mp4179.22M
|   |   ├──4.6 进程的退出:exit与_exit.mp4108.11M
|   |   ├──4.7 进程的退出:vfork与exit.mp436.58M
|   |   ├──4.8 等待子进程终止:wait.mp484.17M
|   |   └──4.9 进程调度.mp4171.60M
|   ├──第05期:进程间通信
|   |   ├──5.1 什么是IPC?t.mp4102.53M
|   |   ├──5.10 system V 消息队列.mp4218.99M
|   |   ├──5.11 消息队列应用:点对点通信.mp472.56M
|   |   ├──5.12 消息队列应用:多人聊天室.mp4165.18M
|   |   ├──5.13 system V 共享内存.mp4147.14M
|   |   ├──5.14 system V 信号量.mp4179.07M
|   |   ├──5.15 信号量编程应用:对共享内存的同步访问.mp488.57M
|   |   ├──5.16 信号量编程应用:生产者-消费者模型.mp493.38M
|   |   ├──5.17 POSIX IPC简介.mp428.33M
|   |   ├──5.18 消息队列(上):API编程实例.mp4186.37M
|   |   ├──5.19 消息队列(中):异步通知.mp488.19M
|   |   ├──5.2 无名管道(1):PIPE编程实例5.mp4134.28M
|   |   ├──5.20 消息队列(下):内核实现.mp4185.43M
|   |   ├──5.21 POSIX 信号量.mp4114.23M
|   |   ├──5.22 POSIX 共享内存.mp4183.10M
|   |   ├──5.23 文件锁.mp4158.21M
|   |   ├──5.24 信号机制:signal.mp4140.98M
|   |   ├──5.25 编写安全的信号处理函数.mp487.25M
|   |   ├──5.26 信号底层API:sigaction函数.mp4266.96M
|   |   ├──5.27 Linux新增API:signalfd.mp4110.02M
|   |   ├──5.28 Linux新增API:timerfd.mp4108.26M
|   |   ├──5.29 Linux新增API:eventfd.mp4109.57M
|   |   ├──5.3 无名管道(2):shell中的管道实现.mp4140.45M
|   |   ├──5.30 D-BUS总线简介及小结.mp4118.47M
|   |   ├──5.4 无名管道(3):通过管道与shell命令进行通信.mp461.21M
|   |   ├──5.5 无名管道(4):通过管道同步进程.mp4144.65M
|   |   ├──5.6 命名管道:FIFO.mp491.89M
|   |   ├──5.7 FIFO应用:LOG日志系统的实现.mp471.12M
|   |   ├──5.8 FIFO应用:服务端与客户端通信.mp4207.67M
|   |   └──5.9 IPC 对象和 IPC key.mp4114.15M
|   ├──第06期:从零实现一个shell解释器
|   |   ├──6.1 什么是shell解释器t.mp446.14M
|   |   ├──6.10 支持进程的后台运行.mp4130.98M
|   |   ├──6.11 实现shell的管道命令(上):思路分析.mp487.90M
|   |   ├──6.12 实现shell的管道命令(下):编码实现.mp4148.80M
|   |   ├──6.13 实现脚本的解析和运行.mp485.78M
|   |   ├──6.14 实现shell脚本语法:if-else流程控制.mp4259.02M
|   |   ├──6.15 shell变量的实现.mp4149.71M
|   |   ├──6.16 设置shell的环境变量.mp4249.77M
|   |   ├──6.17 实现shell的export命令.mp4105.97M
|   |   ├──6.18 代码优化及小结.mp498.73M
|   |   ├──6.2 shell命令的执行过程t.mp428.69M
|   |   ├──6.3 在子进程中运行shell命令.mp482.11M
|   |   ├──6.4 解析用户输入的命令并执行.mp4145.55M
|   |   ├──6.5 代码优化及封装.mp4143.83M
|   |   ├──6.6 打印彩色命令提示符.mp4142.57M
|   |   ├──6.7 实现shell内建命令:cd.mp4125.64M
|   |   ├──6.8 实现shell内建命令:exit.mp498.07M
|   |   └──6.9 增加对信号的处理操作.mp482.10M
|   ├──第07期:多线程编程入门
|   |   ├──7.1 多线程编程的概念t.mp414.61M
|   |   ├──7.10 线程同步:条件变量(上).mp461.24M
|   |   ├──7.11 线程同步:条件变量(下).mp437.86M
|   |   ├──7.12 线程同步:读写锁.mp484.03M
|   |   ├──7.13 线程池的概念.mp424.95M
|   |   ├──7.14 超线程技术.mp466.60M
|   |   ├──7.15 线程的概念.mp457.23M
|   |   ├──7.2 多线程学习准备工作t.mp419.57M
|   |   ├──7.3 创建一个新线程:pthread_create.mp453.05M
|   |   ├──7.4 线程的终止.mp449.09M
|   |   ├──7.5 等待线程的终止.mp467.70M
|   |   ├──7.6 线程属性.mp461.54M
|   |   ├──7.7 线程的调度与运行.mp479.22M
|   |   ├──7.8 线程安全.mp446.69M
|   |   └──7.9 线程同步:互斥锁.mp461.10M
|   ├──第08期:时间管理和定时器编程
|   |   ├──8.1 时间的概念5.mp410.95M
|   |   ├──8.10 Linux中的定时器:alarm.mp439.00M
|   |   ├──8.11 Linux中的定时器:interval timer.mp444.02M
|   |   ├──8.12 Linux中的定时器:POSIX timer(上).mp467.90M
|   |   ├──8.13 Linux中的定时器:POSIX timer(下).mp450.53M
|   |   ├──8.2 时间的计量.mp440.44M
|   |   ├──8.3 Linux系统中的时间管理.mp425.57M
|   |   ├──8.4 获取当前的时间.mp423.98M
|   |   ├──8.5 时间格式转换.mp457.80M
|   |   ├──8.6 将时间转换为字符串.mp431.10M
|   |   ├──8.7 用户指定格式的字符串.mp449.86M
|   |   ├──8.8 获取高精度时间:微秒.mp428.47M
|   |   └──8.9 获取高精度时间:纳秒.mp453.93M
|   ├──练手项目:使用C语言实现协程
|   |   ├──1. 什么是协程?t.mp419.49M
|   |   ├──10. 实现协程的API:coroutine_create.mp491.42M
|   |   ├──11. 实现协程的API:coroutine_yield.mp479.27M
|   |   ├──12. 实现协程的API:coroutine_resume.mp439.26M
|   |   ├──13. 优化coroutine_yield的参数.mp439.96M
|   |   ├──14. 支持给协程传递参数.mp472.12M
|   |   ├──15. 修改协程栈为动态内存.mp439.40M
|   |   ├──16. 支持用户指定协程栈大小.mp436.16M
|   |   ├──17. 一个测试应用程序.mp469.09M
|   |   ├──2.协程的实现原理t.mp417.36M
|   |   ├──3. 保存和设置当前函数上下文.mp4125.24M
|   |   ├──4.添加项目的Makefile.mp420.90M
|   |   ├──5. 继续完善我们的API.mp436.89M
|   |   ├──6. 使用POSIX API:getcontext.mp440.88M
|   |   ├──7. 使用POSIX API:makecontext.mp462.69M
|   |   ├──8. 使用POSIX API:swapcontext.mp445.09M
|   |   └──9. 使用swapcontext切换func1和func2.mp463.19M
|   └──Linux系统编程视频教程配套文档代码.rar37.80M
└──0541.王利涛_文件目录.txt66.52kb

bentom 发表于 2025-4-18 04:42

:o:P:$

laoda1228 发表于 2025-4-18 07:05

rk0680-王利涛嵌入式工程师自我修养系列视频教程【VIP】

sjz051 发表于 2025-4-18 07:36

谢谢分享

wsx123 发表于 2025-4-18 07:39

感谢分享。。

piggaga00 发表于 2025-4-18 07:44

1111111111111111111111

preach123 发表于 2025-4-18 08:16

111

travelerly 发表于 2025-4-18 08:19

:)

sanshiyi 发表于 2025-4-18 08:28

:)

wsh3333 发表于 2025-4-18 08:34

dddddddddddddd
页: [1] 2 3 4 5
查看完整版本: rk0680-王利涛嵌入式工程师自我修养系列视频教程【VIP】