本课程主要讲解了Windows高级编程(内存管理+调试+句柄+进程+线程同步+动态链接库)等内容,课程共分十四章进行讲解,如下:
第0讲:课程简介
课程内容概述
课程目标概述
课程体系结构
课程需要的准备工作(下载工具、准备基本代码)
第一章:Windows内存管理
1.现代计算机体系结构基础和学习内存管理的意义
2.x86 32位系列CPU内存管理机制概述
3.Windows内存管理机制
4.进程地址空间、页面缓冲池、非页面缓冲池
5.Windows内存管理函数及基本内存管理方法
6.标准C内存管理函数和C++ new 、delete运算符
7.Windows堆函数使用及性能评估
8.使用PAE、4GT、AWE获得更多内存的访问( >4GB以上 )
9.利用Windows内存函数重载new 和 delete运算符
10.打造自己的内存池
第二章:UINCODE字符串和安全字符串函数
1.字符集种类,单双字节字符集,宽字节字符集;
2.为什么使用UNICODE
3.字符集转换(Win32字符集转换API ,UTF-8等编码转换)
4.UNICODE和其他字符集混合编程问题
5.C运行时库UNICODE扩展和安全性问题
6.安全字符串函数和使用
7.ATL中的转换封装支持
8.封装字符串转换支持类
第三章:错误处理和结构化异常处理
1.错误码和详细错误信息的获取
2.结构化异常处理的基本框架
3.结构化异常处理的使用
4.结构化异常处理和C++异常处理的比较
5.在VC++中混用结构化异常处理和C++异常处理
6.封装自己的异常模块
第四章:获取系统信息
1.了解系统信息
2.使用系统信息
3.封装系统信息类
第五部章:Windows调试支持
1.Windows调试支持
2.进程、线程的调试创建及接管调试信息
3.调试函数及使用
4.打造基本的调试支持环境
第六章:Windows句柄和对象
1.句柄和对象简介
2.Windows GUI 和 GDI对象
3.Windows 内核对象
4.内核对象名字空间简介
5.对象私有名字空间函数及使用(Vista、Win2008)
6.实用技术-枚举对象列表
第七章:系统安全性和基本访问控制
1.Windows安全对象模型
2.访问标记、安全模块、安全描述符、访问控制列表
3.优先权和优先权使用
4.创建安全描述符、使用EditSecurity界面化编辑安全描述符
5.GRSLib中的安全支持
第八章:Windows多任务基础
1.并行、串行、混合程序模型基础
2.Windows多任务和任务调度介绍
3.任务优先级、亲缘性、
4.进程与线程句柄和标识符ID
第九章:Windows进程
1.Windows进程和入口
2.进程环境变量、亲缘性和当前目录
3.进程默认堆和堆管理
4.进程对象列表
5.创建销毁进程、子进程
6.重定向子进程的输入和输出
7.枚举系统中的进程列表及PSAPI使用
第十章:Windows线程
1.多线程和线程函数
2.创建线程和线程退出
3.线程栈和线程局部存储TLS
4.暂停线程与线程寄存器环境
5.线程消息循环和窗口、GDI对象
6.线程调度优先级
7.线程亲缘性
8.线程同步和异步基础
9.线程可警告状态
10.线程APC队列
11.线程消息队列
12.得到线程的一些统计信息
13.C/C++库与多线程
14.多线程改造一些串行算法为并行算法的例子
15.打造GRSLib类库的线程基类
第十一章:线程同步和等待
1.理解线程同步模型
2.等待函数原理及用法
3.APC和APC队列
4.关键代码段
5.事件对象
6.互斥对象
7.信号对象
8.Vista和2008版上的轻量级锁对象(SRW)
9.一次性初始化对象(One-time Initialization)
10.互锁的原子操作函数
11.基本的多线程安全数据结构——互锁单链表(Interlocked Singly Linked Lists)
第十二章:动态链接库
1.程序链接方式和程序库
2.动态链接库基础
3.动态链接库加载方式(启动加载、运行时加载、延迟加载)
4.动态链接库加载基址和程序空间划分
5.纯资源动态链接库及加载
6.动态链接库和TLS
7.动态链接库和共享内存
8.枚举进程中加载的DLL模块
9.动态链接库和C/C++运行时库
10.插入动态库方法
第十三章:资源
1.Windows应用程序资源基础
2.使用Windows应用程序资源
3.枚举可执行文件中的资源
4.使用资源更新
第十四章:文件和文件映射
1.Windows文件支持和文件基本操作
2.建立和使用临时文件
3.字符设备和串口编程
4.文件查找和文件夹遍历
5.监视目录和目录变化
6.文件映射和进程间共享内存
7.磁盘低级操作——直接读写磁盘扇区
8.IOCP高性能访问文件及自定义日志系统
9.打造自己的文件操作基类