C++教程网编程视频
课程模块 |
|
第一阶段(Linux C开发) |
|
课程目标: 能使用并管理linux系统,熟悉linux开发环境。熟练掌握C语言语法。掌握Linux下C开发方法。 |
|
实训主题 |
实训内容 |
Linux最佳入门 |
Linux基本操作、Linux基本命令、bash基础、Linux文件系统、Linux管理命令、Linux文件权限、vi使用、grep命令与正则表达式、find命令等。 |
Shell编程 |
Shell编程基础、输入输出、算术扩展、条件测试、条件与分支语句、循环语句、函数、sed、awk、Shell俄罗斯方块 |
Linux开发工具 |
gcc、make、gdb |
Linux C语言开发 |
数据类型、控制语句、自定义数据类型、模块化程序设计、指针 |
实战项目 |
餐管点菜系统(文件版) |
第二阶段(Linux C深入) |
|
课程目标: 对C语言进入深化,掌握Oracle数据库以及数据库开发。掌握Linux底下的数据库开发技术。 |
|
实训主题 |
实训内容 |
数据结构 |
链表、linux内核链表、栈和队列、树、哈希表、经典查找与排序算法 |
Oracle数据库 |
Oracle数据库基础、ER模型、数据库系统的开发流程、数据库设计、POWERDESIGNER工具使用、ORACLE体系结构、DDL、DML、PLSQL、存储过程、触发器、函数、游标 |
PRO C编程 |
PRO C程序设计、宿主变量、指示器变量、错误处理、游标处理、PRO*C调用PL/SQL程序块、PRO C调用存储过程、动态SQL |
实战项目 |
餐管点菜系统(数据库版) |
第三阶段(Linux系统编程) |
|
Linux系统编程围绕Linux操作系统的三大抽象展开讲解(文件、虚拟存储、进程)。并配合一个小型的Shell程序minishell做为教学项目 |
|
实训主题 |
实训内容 |
Linux系统编程 |
Linux系统编程之文件篇、Linux系统编程之进程篇、Linux系统编程之信号篇、Linux系统编程之管道篇 |
实战项目 |
Minishell |
第四阶段(Linux网络编程) |
|
讲解Linux网络编程基础知识,socket编程、消息队列、共享内存、信号量、线程的创建、线程的状态多线程编程、线程间的通信、线程同步、线程池等。通过这个课程的学习,实现一个小型的ftp服务器miniftpd。 |
|
实训主题 |
实训内容 |
Linux网络编程 |
Linux网络编程之TCP/IP基础篇、Linux网络编程之socket编程篇、Linux网络编程之进程间通讯篇、Linux网络编程之线程篇 |
实战项目 |
Miniftpd项目实战 |
第五阶段(跟我一起学C++) |
|
掌握C++语法、掌握理解面向对象的编程思想与应用、初步掌握面向泛型的编程思想。 |
|
实训主题 |
实训内容 |
C++程序设计 |
C++面向对象,运算符号重载,模板,异常处理,资源管理 几个重要的练习: 大整数类、字符串类、ptr_vector实现、面向对象版的表达式计算器、面向泛型版的表达式计算器、俄罗斯方块的实现 |
OOAD&UML |
UML、面向对象设计原则、设计模式 |
敏捷开发实践 |
XP极限编程(结对编程、测试驱动开发、重构) |
实战项目 |
表达式计算器、俄罗斯方块 |
第六阶段(大并发服务器设计) |
|
综合应用Linux系统编程、Linux网络编程、与跟我一起学C++所学的知识编写一个大并发服务器 |
|
实训主题 |
实训内容 |
大并发服务器设计 |
Mysql编程、Winsock编程、Linux Epoll模型、网络编程基础组件封装 |
实战项目 |
银行储蓄系统实现为大并发、客户端Windows、服务器端Linux |
第七阶段(Windows编程) |
|
在Windows操作系统环境下使用MFC进行图形化界面编程,运用MFC中的GDI技术进行图形图像开发,学习常用的游戏开发技术。 |
|
实训主题 |
实训内容 |
Windows程序设计 |
MFC结构,文档/视图结构,消息映射,SDI,对话框,常用控件,图形绘制,常用游戏编程技术 |
实战项目 |
单机版连连看 |
第八阶段(Windows网络编程) |
|
深入学习Windows多线程、网络编程。 |
|
实训主题 |
实训内容 |
Windows网络编程 |
动态链接库,内存管理,进程管理,多线程,进程与线程通信与同步(临界区,互斥量,信号量等),WinSock编程、完成端口等。 |
实战项目 |
网络对战平台(多人连连看) |
Linux最佳入门(共10集)
还在为Linux入门发愁吗?还在为繁杂的Linux知识感到无所适从吗?《Linux入门视频》教程将是您最佳的选择。《Linux入门视频》从Linux开发者的角度提炼出Linux开发者所必备的Linux知识。
01初识Linux
什么是Linux
Linux与Unix的关系
Linux系统的特点
Linux系统的组成
02Linux基本操作
登录
口令文件
简单命令
man
03Linux基本命令
目录操作命令(cd mkdir rmdir)
文件操作命令(cp mv rm ln which cat less more head tail wc)
04bash基础
通配符
输入输出重定向
管道
后台作业
历史记录
命令补全
别名
05Linux文件系统
什么是文件系统
文件类型
mount与umount
软连接与硬连接
06Linux管理命令
df、du(查看磁盘与目录容量命令)
free(查看内存使用状态命令)
ps(查看进程命令)
top(进程监控命令)
kill、killall(向进程发信号命令)
rpm(安装软件包命令)
tar(备份与恢复命令)
07linux文件权限
linux用户类别
组管理
用户管理
权限管理
suid、sgid、sticky bit
umask
08vi使用
什么是vi
vi的三种工作方式
编辑模式
插入模式
命令模式(末行模式)
09grep命令与正则表达式
grep命令
正则表达式
grep命令中使用正则表达式
vi中使用正则表达式
10find
find命令一般格式
find常用表达式
find逻辑表达式
find示例
Shell编程入门(共11集)
从程序员的角度来看,Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。对于Linux用户来说掌握一定的Shell知识是必要的。《Shell编程视频》总结常用的Shell编程知识,并通过Shell脚本实现一个俄罗斯方块程序让大家领略Shell的魅力。
01Shell编程基础
什么是Shell程序
本地变量
环境变量
位置参量
数组
02Shell输入输出
read
echo
echo输出颜色与光标定位
03Shell算术扩展
单引号、双引号、反引号区别
命令替换
算术扩展
04Shell条件测试
字符串测试
整数测试
逻辑测试
文件测试
05Shell条件与分支语句
if语句
case语句
06Shell循环语句
for语句
while语句
until语句
select与菜单
07函数
函数的使用
字符串操作
一些内置命令(expr,shift,eval,trap等)
08sed
什么是流编辑器sed
sed地址定位方式
sed编辑命令
09awk
什么是awk
awk简单用法
awk脚本语法
awk执行过程
10Shell俄罗斯方块(上)
获取键盘方向按键(read)
棋盘绘制(echo)
俄罗斯方块表示(一维数组)
俄罗斯方块图形输出
11Shell俄罗斯方块(下)
进程模型(显式进程,控制进程)
捕捉信号(trap )
俄罗斯方块源码分析
Linux开发工具篇(共6集)
工欲善其事必先利其器,《Linux开发工具使用》视频讲解Linux底下C/C++开发工具的使用。主要包括编译工具gcc、调试工具gdb、make(Makefile)工具。
01gcc入门(上)
什么是gcc
gcc特点
gcc编译过程
gcc常用选项
gcc编译多文件
02gcc入门(下)
使用外部库
静态库与共享库
生成静态库
生成动态库
03Makefile(上)
make与Makefile介绍
Makefile基本规则
简单的Makefile编写
Make自动化变量
Makefile编译多个可执行文件
04Makefile(下)
make常用内嵌函数
多级目录Makefile
实用的Makefile
05gdb入门(上)
什么是gdb
gdb功能
运行程序
查看源码
设置断点
单步调试
gdb常用命令总结
06gdb入门(下)
查看运行时数据
程序错误
gdb调试逻辑错误
gdb调试段错误
core文件调试
Linux系统编程(共25集)
Linux系统编程围绕Linux操作系统的三大抽象展开讲解(文件、虚拟存储、进程)。并配合一个小型的Shell程序minishell做为教学项目。分以下几个篇章:
Linux系统编程之文件篇
Linux系统编程之进程篇
Linux系统编程之信号与管道篇
Linux系统编程之文件篇
01认识计算机系统(上)
计算机系统组成
计算机系统硬件组成
总线
I/O设备
内存
处理器(运算器+控制器)
02认识计算机系统(下)
什么是操作系统
Linux内核模块
操作系统管理硬件
操作系统三个基本抽象
进程上下文切换
进程虚地址空间
虚拟文件系统(VFS)
03系统编程介绍
系统编程与应用编程
系统资源
系统调用
系统调用与C库关系
错误处理
04文件与I/O(1)
什么是I/O
文件描述符
文件相关系统调用
05文件与I/O(2)
read、write
lseek
目录访问(opendir、readdir、closedir)
06文件与I/O(3)
stat
stat结构体
stat示例
07文件与I/O(4)
文件共享
打开文件内核数据结构
一个进程两次打开同一个文件
两个进程打开同一个文件
复制文件描述符(dup、dup2、fcntl)
08文件与I/O(5)
fcntl函数
fcntl常用操作
文件锁
Linux系统编程之进程篇
09进程(1)
什么是程序
什么是进程
进程数据结构
进程与程序区别与联系
10进程(2)
进程状态变迁
进程控制块
进程创建
进程撤消
终止进程的五种方法
11进程(3)
复制进程映像
fork系统调用
孤儿进程、僵尸进程
写时复制
12进程(4)
fork之后父子进程共享文件
fork与vfork
exit与_exit
atexit
execve替换进程映像(加载程序)
13进程(5)
exec替换进程映像
exec关联函数组(execl、execlp、execle、execv、execvp)
14进程(6)
SIGCHLD
wait
waitpid
僵进程
system
15进程(7)
什么是守护进程
守护进程的创建步骤
daemon
Linux系统编程之信号与管道篇
16信号(一)
中断
信号
信号与中断
signal
17信号(二)
信号分类
可靠信号与不可靠信号
信号发送
pause
18信号(三)
更多信号发送函数
可重入函数与不可重入函数
不可重入函数示例
19信号(四)
信号在内核中的表示
信号阻塞与未诀
信号集操作函数
sigprocmask
20信号(五)
sigaction函数
sigaction结构体
sigaction示例
21信号(六)
sigqueue函数
sigval联合体
sigqueue示例
22信号(七)
三种不同精度的睡眠
三种时间结构
setitimer
getitimer
23管道(一)
管道
匿名管道pipe
管道示例程序
24管道(二)
管道读写规则
25管道(三)
命名管道(FIFO)
匿名管道与命名管道区别
命名管道的打开规则
命名管道示例程序
MiniShell实战(共8集)
带领大家用C语言动手打造一款MiniShell,通过这个经典案例的实现,让你透彻了解Shell的运作原理。
以代码驱动地方式进行教学,每一行代码都是现场敲打出来的,让你感受minishell程序是如何一步一步实现直至完善的。
第一讲:
搭建minishell程序框架
编写Makefile
第二讲:
对简单命令进行解析并执行
第三讲:
搭建复杂命令解析框架
解析输入重定向、输出重定向、管道、后台作业
第四讲
解析复杂命令
解析输入重定向、输出重定向、管道、后台作业
第五讲
解析并执行带管道的命令
第六讲
解析并通执行带输入输出重定向命令,后台作业
第七讲
梳理程序框架
调试几个BUG
第八讲
内部命令的实现
搭建内部命令的实现框架
Linux网络编程(共41集)
讲解Linux网络编程基础知识,通过这个课程的学习,实现一个小型的ftp服务器miniftpd。
Linux网络编程之TCP/IP基础篇
Linux网络编程之socket编程篇
Linux网络编程之进程间通信篇
Linux网络编程之线程篇
Linux网络编程之TCP/IP基础篇
01TCPIP基础(一)
ISO/OSI参考模型
TCP/IP四层模型
基本概念(对等通信、封装、分用、端口)
02TCPIP基础(二)
最大传输单元(MTU)/路径MTU
以太网帧格式
ICMP
ARP
RARP
03TCPIP基础(三)
IP数据报格式
网际校验和
路由
04TCPIP基础(四)
TCP特点
TCP报文格式
连接建立三次握手
连接终止四次握手
TCP如何保证可靠性
05TCPIP基础(五)
滑动窗口协议
UDP特点
UDP报文格式
Linux系统编程之socket编程篇
06socket编程(一)
什么是socket
IPv4套接口地址结构
网络字节序
字节序转换函数
地址转换函数
套接字类型
07socket编程(二)
TCP客户/服务器模型
回射客户/服务器
socket、bind、listen、accept、connect
08socket编程(三)
SO_REUSEADDR
处理多客户连接(process-per-conection)
点对点聊天程序实现
09socket编程(四)
流协议与粘包
粘包产生的原因
粘包处理方案
readn writen
回射客户/服务器
10socket编程(五)
read、write与recv、send
readline实现
用readline实现回射客户/服务器
getsockname、getpeername
gethostname、gethostbyname、gethostbyaddr
11socket编程(六)
TCP回射客户/服务器
TCP是个流协议
僵进程与SIGCHLD信号
12socket编程(七)
TCP 11种状态
连接建立三次握手、连接终止四次握手
TIME_WAIT与SO_REUSEADDR
SIGPIPE
13socket编程(八)
五种I/O模型
select
用select改进回射客户端程序
14socket编程(九)
select
读、写、异常事件发生条件
用select改进回射服务器程序。
15socket编程(十)
用select改进第八章点对点聊天程序
16socket编程(十一)
套接字I/O超时设置方法
用select实现超时
read_timeout函数封装
write_timeout函数封装
accept_timeout函数封装
connect_timeout函数封装
17socket编程(十二)
select限制
poll
18socket编程(十三)
epoll使用
epoll与select、poll区别
epoll LT/ET模式
19socket编程(十四)
UDP特点
UDP客户/服务基本模型
UDP回射客户/服务器
UDP注意点
20socket编程(十五)
udp聊天室实现
21socket编程(十六)
UNIX域协议特点
UNIX域地址结构
UNIX域字节流回射客户/服务
UNIX域套接字编程注意点
22socket编程(十七)
socketpair
sendmsg/recvmsg
UNIX域套接字传递描述符字
23进程间通信介绍(一)
进程同步与进程互斥
进程间通信目的
进程间通信发展
进程间通信分类
进程间共享信息的三种方式
IPC对象的持续性
24进程间通信介绍(二)
死锁
信号量
PV原语
用PV原语解决司机与售票员问题
用PV原语解决民航售票问题
用PV原语解决汽车租赁问题
25System V消息队列(一)
消息队列
IPC对象数据结构
消息队列结构
消息队列在内核中的表示
消息队列函数
26System V消息队列(二)
msgsnd函数
msgrcv函数
27System V消息队列(三)
消息队列实现回射客户/服务器
28共享内存介绍
共享内存
共享内存示意图
管道、消息队列与共享内存传递数据对比
mmap函数
munmap函数
msync函数
29System V共享内存
共享内存数据结构
共享内存函数
共享内存示例
30System V信号量(一)
信号量
信号量集结构
信号量集函数
信号量示例
31System V信号量(二)
用信号量实现进程互斥示例
32System V信号量(三)
用信号集解决哲学家就餐问题
33System V共享内存与信号量综合
用信号量解决生产者消费者问题
实现shmfifo
34POSIX消息队列
POSIX消息队列相关函数
POSIX消息队列示例
35POSIX共享内存
POSIX共享内存相关函数
POSIX共享内存示例
36线程介绍
什么是线程
进程与线程
线程优缺点
线程模型
N:1用户线程模型
1:1核心线程模型
N:M混合线程模型
37POSIX线程(一)
POSIX线程库相关函数
用线程实现回射客户/服务器
38POSIX线程(二)
线程属性
线程特定数据
39POSIX信号量与互斥锁
POSIX信号量相关函数
POSIX互斥锁相关函数
生产者消费者问题
自旋锁与读写锁介绍
40POSIX条件变量
条件变量
条件变量函数
条件变量使用规范
使用条件变量解决生产者消费者问题
41一个简单的线程池实现
线程池性能分析
线程池实现
更多视频将陆续推出。。。
视频购买地址: http://cppcourse.taobao.com/