目录
1、基础知识普及
2、内存四区:
一级指针内存模型及项目开发重要点
二级指针内存模型及项目开发重要点
多维指针做函数参数技术推演分析
结构体及内存模型、工程开发套路
指针铁律特色
工程项目开发中至镇初步易犯错误模型总结与分析
数组类型,压死初学者的三座大山:
3、数组类型
4、学习路线:
5、linux编程
6、游戏编程
7、QT编程
基础知识普及
- 接口的封装和设计(功能抽象分封装)
- 1》接口api的使用能留
- 2》接口api的使用能力
- 3》接口api的实现能力
- 建立正确程序运行内存布局图(印象图)
- 1》内存四区模型图
- 2》函数调用模型图
BS模型:客户端、浏览器、http:https:、服务器。
CS模型:客户端、服务器。TCP/UDP/IP/。自定义报文。
//第一套api函数
//socket客户端环境初始化
int socketclient_init(void **handle);
//socket客户端报文发送
int socketclient_send(void *handle, unsigned char *buf, int buflen);
//socket客户端报文接收
int socketclient_recv(void *handle, unsigned char *buf, int *buflen);
//socket客户端环境释放
int socketc;ient_destory(void *handle);
真正用代码实现如下:
#ifndef _INC_SCK_ELENT_H #define _INC_SCK_ELENT_H #ifdef __cplusplus extern "C"{ #endif //第一套api函数接口。 //socket客户端环境初始化,获取handle上下。 int socketclient_init(void **handle /*out*/); //socket客户端报文发送 int socketclient_send(void *handle /*in*/, unsigned char *buf /*in*/, int buflen /*in*/); //socket客户端报文接收 int socketclient_recv(void *handle /*in*/, unsigned char *buf /*in*/, int *buflen /*in out*/); //socket客户端环境释放 int socketc;ient_destory(void *handle /*in*/); //第二套api函数 //socket客户端环境初始化 int socketclient_init2(void **handle); //socket客户端报文发送 int socketclient_send2(void *handle, unsigned char *buf, int buflen); //socket客户端报文接收 int socketclient_recv2(void *handle, unsigned char **buf, int *buflen); int sockrtclient_recv2_free(unsigned char **buf);//释放函数 //socket客户端环境释放 int socketc;ient_destory2(void **handle); //技术点分析 //一级指针 //二级指针 //void ××handle类型封装概念、业务模型的封装 #ifdef __cplusplus } #endif
- 技术点分析
- //一级指针
- //二级指针
- //void ××handle类型封装、句柄、业务模型封装概念
内存四区:
- 数据类型本质
- 变量本质
- 程序内存模型和函数调用
- 堆栈模型测试
一级指针内存模型及项目开发重要点
二级指针内存模型及项目开发重要点
多维指针做函数参数技术推演分析
结构体及内存模型、工程开发套路
指针铁律特色
工程项目开发中至镇初步易犯错误模型总结与分析
数组类型,压死初学者的三座大山:
数组类型
- 数组指针
- 数组类型和数组指针的关系
学习路线:
- c提高
- (数据类型、变量、内存四区、指针基础、字符串、一维数组、二维数组、指针数组、数组指针、多维数组、多维指针、结构体、文件、链表、函数与指针、动态库的封装和设计、案例讲解)
- c++基础
- (对c的扩展、C++函数、引用和内联函数、函数重载、概念、类中的封装、类的构造和析构、new/delete、类中的静态成员、c++编译器的对象管理模型分析、操作符重载及友元、类的继承及多态、虚函数、纯虚函数、多继承、函数模板、类模板、io流和异常、c11新特性、案例讲解)
- c++提高
- (设计模式、设计模式和UML基本使用、案例讲解)
- (STL编程和实践、案例讲解)
- (boost讲解、案例讲解)
- 数据结构基础
- (算法基础、链表顺序存储、链表链式存储、循环链表、双向链表、栈《顺序、链式》、队列《顺序、链式》、栈的应用、树基本概念及遍历、二叉树《遍历、非递归遍历》、数据结构排序算法、冒泡算法、选择、插入、快速、希尔、经典面试题强化)
- 数据结构提高
- (图论《深度优先搜索、广度优先搜索、最小生成树、最短路径等》、动态存储管理《回收算法、分配算法》、查找《二叉排序树、平衡二叉树、B树、B+树、哈希表》、内排序、外排序、动态规划)
- 用时间一个月
linux编程
- linu服务器方向
- linux系统编程:
- linux常用命令进阶、gcc/g++、makefile、gdb、文件io编程、进程、信号、进程间通信、网络、并发服务模型、linux案例讲解。
- linux数据库编程
- SQL标准语句、SQL标准语句及oracle基本管理、oracle proc/c++编程、mysql安装与管理、mysql开发简介、mysql常用api的增 查 删 改、数据库编程案例讲解。
- QT编程基础、界面编程
- QT项目讲解案例
- 案例:银行类、政府类服务器(传统)
- 典型C/S架构
- 服务器(io复用、poll、epol模型)
- 客户端(web客户端、QT客户端、MFC客户端)
- 客户端与服务器报文(http、xml、der、json)
- 案例:高新、时代发展
- 服务器框架(自己搭建服务框架、可服用开源框架。两种形式)
- 异构模型的实现(webservice等)
- 客户端对接3G手机业务(ios客户端、android客户端)
游戏编程
- 基础
- cocos基础、api拆解、小游戏验证。超级马里奥、别踩百块。
- 中级
- 各种小游戏、典型游戏速成。
- 高级
- 游戏公司架构、常用版本管理工具(git为例)、常用算法、AI状态机的原理及实现、android基础、ios基础、ajva/oc基础、ini、介入第三方sdk。
- 项目案例
- rpg类型。
QT编程
- QT创建后生成的格式:
- 工程名。pro 工程文件
- main。cpp 主函数
- widget。h
- widget。cpp