微信扫一扫,移动浏览光盘
简介
“如果你是一位系统级的32位或者64位Windows开发者,无论是直接使用WindowsAPI还是通过.NET使用,你肯定希望阅读Johnson Hart的这本最新版的备受推崇和喜爱的书籍。”
? ? ? ? ? ? ? ? ? ——Chris Sells,内容战略家,MSDN Longhorn开发中心
? ?
作为WindowsAPI核心特性和功能的实践指南,本书会吸引你徜徉于Windows
XP和2003以及其他Windows系统中。与许多其他Windows编程资源不同,本书完全专注于核心系统服务——文件系统、内存、进程和线程、同步、通信以及安全性,而不是更常见的图形用户界面功能。本书尤其适合那些已经熟
目录
目录
译者序
前言
第1章 Win32和Win64基础
1.1 操作系统基础
1.2 Windows的演化
1.3 Windows版本
1.4 Windows的市场角色
1.5 Windows、标准和开放系统
1.6 Windows原则
1.7 准备Win64
1.8 标准C库:何时用于文件处理
1.9 使用本书需要具备的条件
1.10 范例:复制简单的顺序文件
1.11 总结
1.12 练习
第2章 使用Windows文件系统和字符I/O
2.1 Windows文件系统
2.2 文件命名
2.3 打开、读取、写入和关闭文件
2.4 插曲:Unicode和通用字符
2.5 Unicode策略
2.6 标准设备和控制台I/O
2.7 范例:打印和提示
2.8 范例:错误处理
2.9 范例:复制多个文件到标准输出
2.10 范例:ASCⅡ到Unicode的转换
2.11 文件和目录管理
2.12 范例:打印当前目录
2.13 总结
2.14 练习
第3章 高级文件和目录处理以及注册表
3.1 64位文件系统
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 练习
第4章 异常处理
4.1 异常及其处理器
4.2 浮点异常
4.3 错误和异常
4.4 范例:将错误当做异常
4.5 终止处理器
4.6 范例:使用终止处理器来提高程序质量
4.7 范例:使用过滤函数
4.8 控制台控制处理器
4.9 范例:一个控制台控制处理器
4.10 矢量异常处理
4.11 总结
4.12 练习
第5章 内存管理、内存映射文件和DLL
5.1 Win32和Win64内存管理架构
5.2 堆
5.3 管理堆内存
5.4 范例:使用二分查找树来排序文件
5.5 内存映射文件
5.6 范例:对映射文件进行顺序文件处理
5.7 范例:排序内存映射文件
5.8 范例:使用基准指针
5.9 动态链接库
5.10 范例:显式链接文件转换函数
5.11 DLL人口点
5.12 DLL版本管理
5.13 总结
5.14 练习
第6章 进程管理
6.1 Windows进程和线程
6.2 进程创建
6.3 进程句柄计数
6.4 进程标识
6.5 复制句柄
6.6 退出及终止进程
6.7 等待进程终止
6.8 环境块和字符串
6.9 范例:并发模式查找
6.10 多处理器环境下的进程
6.11 进程执行时间
6.12 范例:进程执行时间
6.13 产生控制台控制事件
6.14 范例:简单任务管理
6.15 任务对象
6.16 总结
6.17 练习
第7章 线程和调度
7.1 线程概览
7.2 线程基础
7.3 线程管理
7.4 在线程中使用C库
7.5 范例:多线程模式查找
7.6 性能影响
7.7 老板/工人和其他线程模型
7.8 范例:归并排序——使用SMP分而治之
7.9 线程局部存储
7.10 进程和线程优先级和调度
7.11 线程状态
7.12 缺陷和常见错误
7.13 计时等待
7.14 纤程
7.15 总结
7.16 练习
第8章 线程同步
8.1 线程同步的需要
8.2 线程同步对象
8.3 CRITICAL_SECTION对象
8.4 保护共享变量的CRITICAL_SECTION
8.5 范例:简单生产者/消费者系统
8.6 互斥
8.7 信号量
8.8 事件
8.9 范例:生产者/消费者系统
8.10 更多的互斥和CRITICAL_SECTION指南
8.11 更多的互锁函数
8.12 内存管理性能考虑
8.13 总结
8.14 练习
第9章 同步性能影响和指南
9.1 同步性能影响
9.2 性能试验的范例程序
9.3 使用CS自旋计数器调节SMP性能
9.4 信号量“扼杀”以减少线程竞争
9.5 处理器亲缘关系
9.6 I/O完成端口
9.7 性能指南和缺陷
9.8 总结
9.9 练习
第10章 高级线程同步
10.1 条件变量模型和安全属性
10.2 使用SignalObiectAndWait
10.3 范例:门限阻碍对象
10.4 队列对象
10.5 范例:在多阶段管道中使用队列
10.6 异步过程调用
10.7 异步过程调用排队
10.8 可变等待状态
10.9 安全线程取消
10.10 Pthreads用于程序可移植性
10.11 线程堆栈和线程数量
10.12 设计、调试和测试的提示
10.13 访问内核对象的其他方法
10.14 总结
10.15 练习
第11章 进程间通信
11.1 异步管道
11.2 范例:使用异步管道的I/O重定向
11.3 命名管道
11.4 命名管道事务函数
11.5 范例:客户端/服务器命令行处理器
11.6 关予客户端/服务器命令行处理器的注释
11.7 邮槽
11.8 管道和邮槽的创建、连接和命名
11.9 范例:客户端可以定位的服务器
11.10 关于线程模型的注释
11.11 总结
11.12 练习
第12章 使用Windows套接字进行网络编程
12.1 Windows套接字
12.2 套接字服务器函数
12.3 套接字客户端函数
12.4 对比命名管道和套接字
12.5 范例:套接字消息接收函数
12.6 范例:基于套接字的客户端
12.7 范例:带有新特性的基于套接字的服务器
12.8 进程内服务器
12.9 面向行的消息、DLL入口点和TLS
12.10 范例:套接字消息的线程级安全DLL
12.11 范例:可选的线程级安全DLL策略
12.12 数据报
12.13 Berkeley套接字与Windows套接字
12.14 使用Windows套接字的重叠I/O
12.15 Windows Sockets 2
12.16 总结
12.17 练习
第13章 Windows服务
13.1 编写Windows服务概览
13.2 main()函数
13.3 ServiceMain()函数
13.4 服务控制处理器
13.5 范例:服务“包装器”
13.6 管理Windows服务
13.7 小结:服务操作和管理
13.8 范例:服务控制shell
13.9 与服务共享内核对象
13.10 事件日志
13.11 有关调试服务的注意点
13.12 总结
13.13 练习
第14章 异步输入/输出和完成端口
14.1 Windows异步I/O概览
14.2 重叠I/O
14.3 范例:同步文件句柄
14.4 范例:使用重叠I/O和多个缓存进行文件转换
14.5 使用完成例程的扩展I/O
14.6 范例:使用扩展I/O来进行文件转换
14.7 线程异步I/O
14.8 可等待计时器
14.9 范例:使用可等待计时器
14.10 I/O完成端口
14.11 范例:使用I/O完成端口的服务器
14.12 总结
14.13 练习
第15章 Windows对象安全
15.1 安全属性
15.2 安全概览:安全描述符
15.3 安全描述符控制标记
15.4 安全标识符
15.5 管理ACL
15.6 范例:NTFS文件的UNIX风格权限
15.7 范例:初始化安全届性
15.8 读取和更改安全描述符
15.9 范例:读取文件权限
15.10 范例:更改文件权限
15.11 内核和通信对象安全
15.12 范例:进程及其线程安全
15.13 其他安全属性概览
15.14 总结
15.15 练习
第16章 Win64编程
16.1 Win64进展
16.2 64位架构慨览
16.3 win64编程模型
16.4 数据类型
16.5 遗留代码移植
16.6 范例:移植sortMM(程序5-5)
16.7 总结
16.8 练习
附录A 使用范例程序
附录B Windows、UNIX和C库的比较
附录C 性能结果
参考文献
G(=x
译者序
前言
第1章 Win32和Win64基础
1.1 操作系统基础
1.2 Windows的演化
1.3 Windows版本
1.4 Windows的市场角色
1.5 Windows、标准和开放系统
1.6 Windows原则
1.7 准备Win64
1.8 标准C库:何时用于文件处理
1.9 使用本书需要具备的条件
1.10 范例:复制简单的顺序文件
1.11 总结
1.12 练习
第2章 使用Windows文件系统和字符I/O
2.1 Windows文件系统
2.2 文件命名
2.3 打开、读取、写入和关闭文件
2.4 插曲:Unicode和通用字符
2.5 Unicode策略
2.6 标准设备和控制台I/O
2.7 范例:打印和提示
2.8 范例:错误处理
2.9 范例:复制多个文件到标准输出
2.10 范例:ASCⅡ到Unicode的转换
2.11 文件和目录管理
2.12 范例:打印当前目录
2.13 总结
2.14 练习
第3章 高级文件和目录处理以及注册表
3.1 64位文件系统
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 练习
第4章 异常处理
4.1 异常及其处理器
4.2 浮点异常
4.3 错误和异常
4.4 范例:将错误当做异常
4.5 终止处理器
4.6 范例:使用终止处理器来提高程序质量
4.7 范例:使用过滤函数
4.8 控制台控制处理器
4.9 范例:一个控制台控制处理器
4.10 矢量异常处理
4.11 总结
4.12 练习
第5章 内存管理、内存映射文件和DLL
5.1 Win32和Win64内存管理架构
5.2 堆
5.3 管理堆内存
5.4 范例:使用二分查找树来排序文件
5.5 内存映射文件
5.6 范例:对映射文件进行顺序文件处理
5.7 范例:排序内存映射文件
5.8 范例:使用基准指针
5.9 动态链接库
5.10 范例:显式链接文件转换函数
5.11 DLL人口点
5.12 DLL版本管理
5.13 总结
5.14 练习
第6章 进程管理
6.1 Windows进程和线程
6.2 进程创建
6.3 进程句柄计数
6.4 进程标识
6.5 复制句柄
6.6 退出及终止进程
6.7 等待进程终止
6.8 环境块和字符串
6.9 范例:并发模式查找
6.10 多处理器环境下的进程
6.11 进程执行时间
6.12 范例:进程执行时间
6.13 产生控制台控制事件
6.14 范例:简单任务管理
6.15 任务对象
6.16 总结
6.17 练习
第7章 线程和调度
7.1 线程概览
7.2 线程基础
7.3 线程管理
7.4 在线程中使用C库
7.5 范例:多线程模式查找
7.6 性能影响
7.7 老板/工人和其他线程模型
7.8 范例:归并排序——使用SMP分而治之
7.9 线程局部存储
7.10 进程和线程优先级和调度
7.11 线程状态
7.12 缺陷和常见错误
7.13 计时等待
7.14 纤程
7.15 总结
7.16 练习
第8章 线程同步
8.1 线程同步的需要
8.2 线程同步对象
8.3 CRITICAL_SECTION对象
8.4 保护共享变量的CRITICAL_SECTION
8.5 范例:简单生产者/消费者系统
8.6 互斥
8.7 信号量
8.8 事件
8.9 范例:生产者/消费者系统
8.10 更多的互斥和CRITICAL_SECTION指南
8.11 更多的互锁函数
8.12 内存管理性能考虑
8.13 总结
8.14 练习
第9章 同步性能影响和指南
9.1 同步性能影响
9.2 性能试验的范例程序
9.3 使用CS自旋计数器调节SMP性能
9.4 信号量“扼杀”以减少线程竞争
9.5 处理器亲缘关系
9.6 I/O完成端口
9.7 性能指南和缺陷
9.8 总结
9.9 练习
第10章 高级线程同步
10.1 条件变量模型和安全属性
10.2 使用SignalObiectAndWait
10.3 范例:门限阻碍对象
10.4 队列对象
10.5 范例:在多阶段管道中使用队列
10.6 异步过程调用
10.7 异步过程调用排队
10.8 可变等待状态
10.9 安全线程取消
10.10 Pthreads用于程序可移植性
10.11 线程堆栈和线程数量
10.12 设计、调试和测试的提示
10.13 访问内核对象的其他方法
10.14 总结
10.15 练习
第11章 进程间通信
11.1 异步管道
11.2 范例:使用异步管道的I/O重定向
11.3 命名管道
11.4 命名管道事务函数
11.5 范例:客户端/服务器命令行处理器
11.6 关予客户端/服务器命令行处理器的注释
11.7 邮槽
11.8 管道和邮槽的创建、连接和命名
11.9 范例:客户端可以定位的服务器
11.10 关于线程模型的注释
11.11 总结
11.12 练习
第12章 使用Windows套接字进行网络编程
12.1 Windows套接字
12.2 套接字服务器函数
12.3 套接字客户端函数
12.4 对比命名管道和套接字
12.5 范例:套接字消息接收函数
12.6 范例:基于套接字的客户端
12.7 范例:带有新特性的基于套接字的服务器
12.8 进程内服务器
12.9 面向行的消息、DLL入口点和TLS
12.10 范例:套接字消息的线程级安全DLL
12.11 范例:可选的线程级安全DLL策略
12.12 数据报
12.13 Berkeley套接字与Windows套接字
12.14 使用Windows套接字的重叠I/O
12.15 Windows Sockets 2
12.16 总结
12.17 练习
第13章 Windows服务
13.1 编写Windows服务概览
13.2 main()函数
13.3 ServiceMain()函数
13.4 服务控制处理器
13.5 范例:服务“包装器”
13.6 管理Windows服务
13.7 小结:服务操作和管理
13.8 范例:服务控制shell
13.9 与服务共享内核对象
13.10 事件日志
13.11 有关调试服务的注意点
13.12 总结
13.13 练习
第14章 异步输入/输出和完成端口
14.1 Windows异步I/O概览
14.2 重叠I/O
14.3 范例:同步文件句柄
14.4 范例:使用重叠I/O和多个缓存进行文件转换
14.5 使用完成例程的扩展I/O
14.6 范例:使用扩展I/O来进行文件转换
14.7 线程异步I/O
14.8 可等待计时器
14.9 范例:使用可等待计时器
14.10 I/O完成端口
14.11 范例:使用I/O完成端口的服务器
14.12 总结
14.13 练习
第15章 Windows对象安全
15.1 安全属性
15.2 安全概览:安全描述符
15.3 安全描述符控制标记
15.4 安全标识符
15.5 管理ACL
15.6 范例:NTFS文件的UNIX风格权限
15.7 范例:初始化安全届性
15.8 读取和更改安全描述符
15.9 范例:读取文件权限
15.10 范例:更改文件权限
15.11 内核和通信对象安全
15.12 范例:进程及其线程安全
15.13 其他安全属性概览
15.14 总结
15.15 练习
第16章 Win64编程
16.1 Win64进展
16.2 64位架构慨览
16.3 win64编程模型
16.4 数据类型
16.5 遗留代码移植
16.6 范例:移植sortMM(程序5-5)
16.7 总结
16.8 练习
附录A 使用范例程序
附录B Windows、UNIX和C库的比较
附录C 性能结果
参考文献
G(=x
Windows system programming
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×