《Windows 95 高级程序设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:何志新等编
  • 出 版 社:上海:同济大学出版社
  • 出版年份:1997
  • ISBN:7560817327
  • 页数:403 页
图书介绍:

第一章 Windows 95编程环境 1

1.1 扩展的文件系统 1

1.2 内存映像文件 1

1.3 内存管理 1

1.4 结构化异常处理 2

1.5 进程和线程 2

1.6 抢先式多任务 2

第二章 应用程序编程接口 3

2.1 各类API简介 3

2.1.1 Win16 4

2.1.2 Win32s 5

2.1.3 Win32-95 5

2.1.4 Win32 6

2.2 各类Windows操作系统简介 6

2.2.1 Windows 3.1 7

2.2.2 Windows 95 8

2.2.3 Windows NT 9

2.3 16位版本与32位版本 10

2.3.1 16位版本 10

2.3.2 32位版本 11

第三章 移植到Windows——入门 12

3.1 HELLO1——Windows 3.1起点 12

3.2 HELLO2——清理代码 16

3.3 HELLO3——最终版本 21

3.4 移植的途径 21

3.4.1 证实Win16应用程序 22

3.4.2 转变到32位编程 22

3.4.3 清理32位代码 22

3.5.1 异步输入模型 23

3.4.4 使用新的Windows特性 23

3.5 Wincdows 95结构问题 23

3.5.2 分离的地址空间 24

3.5.3 指针问题 24

3.5.4 内存共享 25

3.6 Windows 95语法问题 25

3.6.1 转移到32位 25

3.6.2 消息包中的改变 25

3.6.3 Intel的消失 26

3.6.4 MS-DOS的消失 26

3.6.5 其他语法改变 26

3.7 文件操作的问题 27

3.8 一个关于移植的评论 27

第四章 移植到Windows——揭秘 28

5.1 内存寻址模式 52

第五章 Windows 95内存分配 52

5.2 内存管理API 53

5.3 从局部堆中分配内存 53

5.4 从全局堆中分配内存 54

5.5 C运行库分配函数 55

5.6 堆内存 55

5.6.1 启动内存要求 56

5.6.2 面向对象的结构 56

5.6.3 每窗口一个堆 56

5.6.4 执行效率 57

5.6.5 清理中的方便 57

5.6.6 结构化异常处理 57

5.7 内存映像文件 57

5.8.1 页状态 58

5.8.2 保留和约定页 58

5.8 虚拟内存 58

5.8.3 取消和释放页 59

5.8.4 判断虚拟内存的状态 59

5.8.5 使用虚拟内存时的考虑 60

5.9 内存管理内部结构 60

5.9.1 地址空间 61

5.9.2 虚拟内存管理器 62

5.9.3 在进程之间共享内存 64

5.9.4 执行内存管理API 65

5.9.5 内存地址翻译 65

5.9.6 内存状态 66

第六章 进程和线程 68

6.1 进程样本程序 68

6.2 终止一个进程 82

6.3 更具体地理解CreateProcess 83

6.4 更详细地理解STARTUPINFO 85

6.5 线程样本程序 87

6.6 终止客户线程 106

6.7 更详细地理解CreateThread 107

6.8 进程与线程 108

6.9 实句柄和伪句柄 109

6.10 进程间通信 110

6.11 何时使用多进程 111

6.11.1 一个客户—服务器数据库应用程序 111

6.11.2 工业数据获取 112

6.11.3 一个客户服务应用程序 112

6.12 何时使用多线程 113

第七章 共享与同步 114

7.1 当数据被共享时 114

7.2 当一个线程等待一个事件时 114

7.5.1 临界区 115

7.5 同步对象的类型 115

7.3 当死锁必须被避免时 115

7.4 同步如何工作 115

7.5.2 进程 116

7.5.3 线程 116

7.5.4 互斥标志 116

7.5.5 信号类 117

7.5.6 自动复位事件 117

7.5.7 人工复位事件 117

7.6 等待一个同步事件 118

7.6.1 使用单个对象的同步 118

7.6.2 使用多个对象的同步 119

7.6.3 使用多个对象中的一个的同步 119

7.6.4 使用一个消息的同步 120

7.7 使用临界区 121

7.8 使用进程和线程的同步 122

7.9 使用一个互斥标志的同步 123

7.10 一个互斥标志样本程序 125

7.11 使用一个信号灯的同步 136

7.12 一个信号灯样本程序 138

7.13 使用事件的同步 146

7.14 一个事件样本程序 147

7.15 互锁变量 162

7.16 GDI和同步 163

7.17 堆管理和同步 163

7.18 程序设计和同步 163

第八章 Windows 95的文件系统 166

8.1 基本文件操作 166

8.2 CreateFile的一个详细讨论 168

8.2.3 dwSharemode 169

8.2.1 lpFileName 169

8.2.2 dwDesiredAccess 169

8.2.4 lpSecurityAttributes 170

8.2.5 dwCreationDistribution 170

8.2.6 dwFlagsAndAttirbutes 170

8.2.7 hTemplateFile 171

8.3 读出和写入文件 172

8.4 目录和文件操作 175

8.5 文件锁定和解锁 175

8.6 长文件名 176

8.7 文件时间 176

8.8 其他文件信息 177

8.9 系统和卷信息 178

8.10 文件系统观察器样本程序 179

8.11 搜索文件 188

8.12 文件通知 189

8.13 目录监视样本程序 190

8.14 无名管道 199

8.15 无名管道样本程序 201

第九章 内存映像文件 209

9.1 什么是文件映射 210

9.2 内存映像文件观察器样本程序 212

9.3 一个文件的多个映像 218

9.4 在进程之间共享一个文件 220

9.5 关于文件映射的额外细节 222

9.6 在进程之间共享内存 223

9.7 共享内存样本程序 224

9.8 文件映射实际工作方式 229

10.1 调用DLL中的函数 232

第十章 DLL 232

10.2 DLL初始化 235

10.3 建立DLL 238

10.4 使用一个DLL共享数据 241

10.4.1 文件映射 241

10.4.2 直接共享变量 242

10.5 DLL的执行方式 243

10.6 DLL样本程序 243

第十一章 异常处理 260

11.1 什么是异常 260

11.2 异常处理 261

11.3 异常过滤器值 261

11.3.1 EXCEPTION_EXECUTE_HANDLER 262

11.3.2 EXCEPTION_CONTINUE_SEARCH 262

11.3.3 EXCEPTION_CONTINUE_EXECUTION 263

11.4 再论异常过滤器 264

11.5 使用try/except块的样本程序 267

11.6 终止处理 272

11.7 终止和异常处理 274

11.8 软件异常 275

11.9 异常处理样本程序 276

11.10 展开堆栈 285

11.11 没有处理的异常 285

11.12 异常和调试 286

11.13 C++和结构化异常处理 286

第十二章 客户-服务器应用程序与DDE 287

12.1 DDE定义 287

12.2 DDE与OLE之间的选择 287

12.3 DDE协议 288

12.4 服务器命名机制 289

12.5 回调函数 290

12.6 DDEML的初始化 291

12.7 字符串句柄和原子 294

12.8 事务 296

12.9 建立一次对话 298

12.10 DDE数据对象 302

12.11 从服务器中请求数据 304

12.12 发送数据给服务器 306

12.13 用最新的数据更新客户 309

12.13.1 初始化一个通知循环 309

12.13.2 从服务器中传输一个通知 310

12.13.3 终止一个通知循环 312

12.14 发送一个命令给服务器 313

12.15 同步事务和异步事务 315

12.16.1 应用程序的功能和操作 316

12.16 样本程序——一个人事搜索程序 316

12.16.2 程序结构 319

12.16.3 初始化和终止DDE通信 319

12.16.4 客户用户界面 320

12.16.5 文件操作 320

12.16.6 搜索程序员 321

12.16.7 管理编程工程 322

12.16.8 维护程序员数据库 323

12.16.9 计划变化的通知 323

12.16.10 调试服务器用户界面 325

12.16.11 程序设计注意点 326

第十三章 内部结构探秘 368

13.1 虚拟机结构 368

13.2 启动过程 372

13.3 驱动程序结构 373

13.4 异步输入模型 374

13.5 调度与优先级 376

13.5.1 优先级与优先类 377

13.5.2 在API级的优先级控制 377

13.5.3 调度器对优先级的控制 378

13.6 可靠性、强壮性和安全性 379

13.7 重入和Win16Mutex 382

13.8 Thunk 383

第十四章 其他编程考虑 386

14.1 国际化 386

14.1.1 字符集的问题 387

14.1.2 统一代码——一个更好的方法 388

14.1.3 统一代码与Windows NT 388

14.1.4 统一代码与Windows 95 389

14.2 即插即用 390

14.1.5 Windows 95平台 390

14.3 对象链接和嵌入 393

14.3.1 成分对象模型 393

14.3.2 成分对象 394

14.3.3 结构化存储 395

14.3.4 统一格式数据传输 396

14.3.5 OLE自动化 397

14.3.6 复合文档 398

14.3.7 原地激活 399

14.3.8 关于OLE的回顾 400

14.4 网络 401

14.4.1 网络编程接口 401

14.4.2 网络供应器接口 402

14.4.3 传输编程接口 402

14.4.4 设备驱动程序 403