woaidaima2016 发表于 2023-10-26 17:05:58

C++全栈工程师(1)


第一周
第一天:
1.控制台程序的入口
【1】argc,argv的作用(OD辅助一下)
      循环遍历一下argc,argv的例子
【2】数据类型 BYTE WORD DWORD QDWORD(32位,64位的区别)
【3】衍生数据 char,short,int,long,HWND,HINSTANCE,float,double....
【4】OD看一下内存形状

第二天:
1.函数调用与堆栈
【1】函数执行顺序
【2】函数调用 3种平栈方式(OD辅助一下)
【3】栈详解

第三天:
1.c++
【1】结构体struct,类class
【2】二者之间关系
【3】公有继承public
【4】子类通过初始化给父类传参
【5】练习
2.构造和析构函数的讲解
【1】构造的顺序
【2】析构的顺序
【3】拷贝构造与禁用
【4】多重继承
【5】菱形继承
【6】函数重载,运算符重载

第四天:
1.多态
【1】为何需要多态行为
【2】使用虚函数实现多态行为
【3】为何需要虚构造函数
【4】理解虚函数表(虚函数工作原理)
【5】抽象基类和纯虚函数
【6】OD观察虚表
【7】c++内存模型

第五天:
1.界面
【1】平台SDK窗口
【2】MFC基本框架

第二周
第一天
1.回顾MFC基本框架
2.MFC单文档框架
3.socket网络通讯
【1】TCP通信
【2】UDP通信

第二天
1.Dll动态数据链接库
2.Lib静态数据链接库
3.编译属性与工程配置

第三天
1.什么是完成端口
2.单文档创建修改
3.单文档界面、框架的改造

第四天
1.MFC单文档与完成端口的结合
2.完成端口服务器的初始化
3.ON_COMMAND自定义消息

第五天
1.服务端网络消息发送
2.客户端ClientSocket
3.反弹链接
4.客户端与服务端交互

第三周
第一天
1.上线包的设计
2.得到操作系统信息
3.得到CPU信息与IP信息
4.解压加密封包

第二天
1.增加上线信息到列表
2.INI文件的使用
3.注册表操作

第三天
1.MFC增强界面库XTP
2.真彩图标工具栏

第四天
1.增加主菜单与右键菜单
2.多标签页面视图

第五天
1.跨平台wx界面库的使用
2.QT与插件的安装
3.消息与槽
4.QT菜单与图标设置

第四周
第一天
1.工厂模式
2.抽象工厂模式
3.单例模式
4.装饰者模式
5.建造者模式

第二天
1.设计模式练习


第三天
1.状态机模式

第四天
1.模板函数
2.模板类
3.模板的特化
4.模板的偏特化

第五天
1.vector
2.map
3.迭代器
4.auto
5.google代码规范注意事项

第五周
第一天
   1.智能指针
   2.仿函数与绑定
   3.lambda语法
   4.for的新型用法
   5.for_each与lambda

第二天
   1.CreateThread与beginthread
   2.std::thread
   3.悬空引用与join
   4.线程的剥离
   5.线程异常捕获
   6.thread_guard析构函数的巧妙使用
   7.多线程

第三天
   1.thread 与 move
   2.多线程的join
   3.for_each,lambda
   4.mem_fn
   5.ref

第四天
   1.无锁多线程安全容器
   2.多线程异步
   3.lock_guard与list
   4.data_wrapper与恶意函数
   5.线程安全的堆栈

第五天
   1.死锁
   2.顺序锁
   3.orderLock
   4.分层锁
   5.一个结合多线程,仿函数,lambda,锁的例子

第六周
第一天
1.多线程生产与消费
2.一个多线程安全的队列
3.右值引用,完美转发

第二天
1.boost环境配置
2.program_options例子的使用
3.cfg文件的使用
4.CMake文件的配置
5.Linux的环境配置
6.移植到Linux系统上

第三天
CMake的7个例子
回顾Boost移植过程
boost智能指针

第四天
std的ptr_fun
boost的bind
boost的functional
std::sort与仿函数的巧妙使用

第五天
boost的asio同步服务器
boost的asio客户端
boost的asio异步服务器
聊天服务器
聊天客户端

第七周
第一天
boost定时器
boost并发编程
boost同步服务器
boost同步客户端
boost异步服务器
boost异步客户端

第二天
Linux系统目录结构
Linux命令
Linux软件管理
Linux工作中常见的命令

第三天
Shell简介,变量
Shell流程控制
Shell运算
Shell函数

第四天
Shell输入输出重定向
Shell常用特殊符号
Shell-for语句总结
常用语句

第五天
TCP/IP中基本概念
VIM编写一个网络通讯
GCC与G++编译
Make与MakeFile
使用GDB调试
Eclipse的安装与使用

第八周
第一天
暂无

第二天
Sqlite3基础
数据库的增加
数据库的删除
数据库的修改
数据库的查询

第三天
NoSql的概念

第四天
暂无

第五天
暂无

sml110 发表于 2023-12-10 18:36:51

:):):):):):):):)

zgf_8008 发表于 2024-8-8 06:57:21

我是小白,学习一下基础知识。

一梦十年 发表于 2024-8-27 20:22:16

66666666666666666666666666666666666666666
页: [1]
查看完整版本: C++全栈工程师(1)