【QT学习笔记001】小试身手、C语言扫盲

 


目录

1、基础知识普及

2、内存四区:

    一级指针内存模型及项目开发重要点

    二级指针内存模型及项目开发重要点

    多维指针做函数参数技术推演分析

    结构体及内存模型、工程开发套路

    指针铁律特色

    工程项目开发中至镇初步易犯错误模型总结与分析

    数组类型,压死初学者的三座大山:

3、数组类型

4、学习路线:

5、linux编程

6、游戏编程

7、QT编程


 

 

 


基础知识普及

  • 接口的封装和设计(功能抽象分封装)
  • 1》接口api的使用能留
  • 2》接口api的使用能力
  • 3》接口api的实现能力
  • 建立正确程序运行内存布局图(印象图)
  • 1》内存四区模型图
  • 2》函数调用模型图

【QT学习笔记001】小试身手、C语言扫盲_第1张图片

 

 

【QT学习笔记001】小试身手、C语言扫盲_第2张图片

 

【QT学习笔记001】小试身手、C语言扫盲_第3张图片

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

 

 

 

【QT学习笔记001】小试身手、C语言扫盲_第4张图片

你可能感兴趣的:(QT,语言,编程)