目 录
简介
0.1概述
0.2Facilities(设备)
0.3Microsoft课程
0.4课程材料
0.5你的期望
0.6课程提纲
第一章 移植
1.1概述
1.2Windows3.1编译器概述
1.3Win32编译器概述
1.4Makefile句法
1.5Makefile第一部分:NTWIN32.MAK
1.6Makefile第二部分:编译源程序
1.7Makefile第三部分:编译资源
1.8Makefile第四部分:连接
1.9Headers(头)
1.10移植工具
1.11PORT.INI文件
1.12移植的步骤
1.13WinMain的使用
1.14窗口消息程序
1.15消息参数重装
1.16消息封装的宏命令
1.17可移植消息处理
1.18可移植API函数
1.19为Windows书写可移植C源代码
1.20Pitfalls
1.21MicrosoftWin32软件开发工具(SDK)
1.22演示
1.23复习
1.24实验一:移植
第二章 WindowsNT体系结构概述
2.1概述
2.2WindowsNT的设计目标
2.3连接多重系统
2.4WindowsNT体系结构
2.5NT执行程序
2.6WindowsNT 子系统
2.7进程间通信
2.8抢占式多任务
2.9多处理
2.10虚存管理
2.11WindowsNT 对象
2.12对象模型
2.13对象结构
2.14WindowsNT I/O系统体系结构
2.15分层设备驱动程序
2.16注册
2.17复习
第三章 结构化的异常处理
3.1概述
3.2定义
3.3句法
3.4异常流程图
3.5终止流程图
3.6异常句柄查询体系
3.7句柄特性
3.8异常举例
3.9终止举例
3.10实验二:结构化的异常处理
3.11异常调度
3.12 异常处理及解除
3.13异常筛选程序
3.14异常信息
3.15未经处理的异常筛选程序
3.16收回异常
3.17 非正常终止
3.18复习
3.19实验二:结构化的异常处理
第四章 创建/启动一个进程
4.1概述
4.2进程定义
4.3进程属性
4.4进程资源
4.5进程间通信
4.6管道
4.7进程创建
4.8设置启动窗口消
4.9进程消息
4.10继承
4.11安全属性
4.12进程句柄
4.13控制一个进程
4.14终止一个进程
4.15合适的API函数
4.16读和写句柄
4.17复习
4.18实验三:创建/启动一个进程
第五章 线程和同步
5.1概述
5.2定义
5.3进程的梗概
5.4线程调度
5.5线程抢占
5.6线程优先级
5.7为何使用多线程?
5.8线程额外开销
5.9线程创建API函数
5.10CreateThread举例
5.11CalculationThreadProc举例
5.12线程ID和句柄
5.13线程终止
5.14C运行时间库
5.15实验四:线程和同步
5.16线程同步函数
5.17在对象上等待
5.18事件对象
5.19使用事件对象
5.20排它对象
5.21利用排它对象
5.22信号灯对象
5.23利用信号灯对象
5.24临界区
5.25使用临界区
5.26线程和信息队列:Windows3.1模型
5.27线程和信息队列:Win32模型
5.28API函数
5.29复习
5.30实验四:线程和同步
第六章 标准I/O
6.1概述
6.2I/O系统的组成部分
6.3SCSI分层
6.4内部对象
6.5超高速缓存管理器
6.6同步I/O处理
6.7异步I/O处理
6.8同步的/异步的I/O
6.9异步过程调用(APC)
6.10文件I/O的API
6.11使用事件的异步I/O
6.12使用I/O完成例行程序的异步I/O
6.13标准的输入和输出
6.14复习
6.15实验五:标准I/O
第七章 内存管理
7.1概述
7.2地址空间
7.3虚拟内存
7.4页目录、页表、页帧
7.5分页文件
7.6页面提交
7.7拷贝写和保护文件
7.8API函数:HeapAlloc
7.9API函数:LocalAllocGlobalAlloc
7.10 API函数:C运行时间库
7.11 API函数:VirtualAlloc
7.12 实验六:内存管理
7.13 内存共享
7.14 GMEMDDESHARE
7.15 内存映射文件的视图
7.16 GreateFileMapping和OpenFileMapping
7.17 MapViewOfFile和UnmapViewOfFile
7.18 使用内存映射文件来共享内存
7.19 基指针
7.20 复习
7.21 实验六:内存管理
第八章 动态连接库(DLL)
8.1 概述
8.2 DLL映射
8.3 调用/执行
8.4 实例数据
8.5 线程局部存储
8.6 单一进入和退出点:DllEntryPoint
8.7 DllEntryPoint代码举例
8.8 线程同DLL,的连接与分离
8.9 动态安装
8.10 终止与退出
8.11 C运行时间库
8.12 SS!=DS不再是问题
8.13 编译DLL代码
8.14 连接DLL
8.15 建立共享内存
8.16 DLL模块定义文件
8.17 输入和输出函数
8.18 与3.1的区别:数据在应用程序中的共享
8.19 与3.1的区别:实例数据
8.20 复习
8.21 实验七:动态连接库(DLL)
第九章 远程过程调用(RPC)
9.1 概述
9.2 什么是RPC
9.3 RPC 构件
9.4 RPC如何工作
9.5 传输
9.6 名字服务
9.7 RPC运行时间:函数
9.8 界面定义语言
9.9 MIDL 编译器需要什么
9.10 应用程序配置文件(ACF)
9.11 联编
9.12 联编和联编句柄
9.13 MIDL 编译
9.14 输出文件生成
9.15 建立过程
9.16 熟悉的过程调用模型
9.17 .IDL文件
9.18 .ACF文件
9.19 RPC所需函数
9.20 调用RPC服务器API函数
9.21 调用RPC客户机API函数
9.22 MDIL编译
9.23 演示:RPC代码的指导
9.24 复习
9.25 实验八:远程过程调用(RPC)
第十章 精调基于Win32的应用程序
10.1 概述
10.2 性能工具
10.3 演示
10.4 复习
第十一章 国际化和统一代码
11.1 概述
11.2 什么是统一代码
11.3 编码方案设计
11.4 Win32中的统一代码
11.5 统一代码编程
11.6 数据类型
11.7 函数原型
11.8 基本转换步骤
11.9 Window类
11.10 消息
11.11 C运行时间扩展
11.12 文件名
11.13 字节指令标记
11.14 识别统一代码文件
11.15 复习
11.16 实验九:统一代码
附录A 样例程序清单
附录B 有关论文
将基于Windows的16位的应用程序移植到Win32中
WindowsNT中的虚拟内存管理器
Win32中的DLL
实验手册
概述
实验一 移植到一个32位的平台
练习1将一个16位的应用程序移植到一个32位的平台上
实验二 结构化异常处理
练习1实验结构化异常处理
练习2(可选)使用系统默认异常筛选程序
练习3实现一个样本筛选程序
实验三 启动并创建一个进程
练习1:创建并控制一个进程
实验四 线程和同步
练习1创建一个线程并使它运行
练习2创建并同步多线程
实验五 标准I/O
练习1执行异步文件I/O
实验六 内存管理
练习1用HeapAPI管理内存
练习2通过内存映射文件来共享内存
实验七 DLL
练习1创建一个32位的DLL
实验八 远程过程调用(RPC)
练习1实现一个RPC的应用程序
实验九 国际化和统一代码
练习1把一个应用程序转换成统一代码
· · · · · · (
收起)