第一部分 编译器和链接程序 1
第一章 编译应用程序:C编译器 1
1.1 编译C语言写的Windows应用程序 1
1.2 编译器选择项 3
1.2.1 内存模式选择项 3
1.2.2 开发应用程序选择项 3
1.2.3 动态链接库选择项 4
1.3 小结 4
第二章 链接应用程序:链接程序 5
2.1 创建模块定义文件 5
2.1.1 创建应用程序的模块定义 6
2.1.2 创建库的模块定义 7
2.2 引进动态链接库 8
2.3 链接一个应用程序 8
2.3.1 使用LINK命令 8
2.3.2 指定LINK命令选择项 9
2.3.3 在LINK命令行中指定库 11
2.4 检查可执行文件头 12
2.5 小结 12
第三章 编译资源:资源编译器 13
3.1 在应用程序中引入资源 13
3.2 创建资源描述文件 13
3.3 使用资源编译器 15
3.3.1 分别编译资源 17
3.3.2 定义预处理使用的名 18
3.3.3 更换已编译资源文件名 18
3.3.4 控制RC查找的路径 18
3.3.5 显示进展信息 19
3.4 小结 19
第二部分 资源编辑器 20
第四章 设计图案:SDKPaint 20
4.1 SDKPaint怎样处理文件 20
4.1 文件类型 20
4.1.2 标象和光标数据:SDKPAINT.DAT文件 21
4.2 SDKPaint窗口 22
4.3 打开文件和图案 23
4.3.1 把文件转换成3.0格式 23
4.3.2 打开位图 23
4.3.3 打开标象和光标 24
4.4 用SDKPaint工具 25
4.5 使用SDKPaint调色板 25
4.5.1 处理不透明色、屏幕色和反 26
4.6 自定义调色板 27
4.6.1 编辑颜色 27
4.6.2 保存调色板 28
4.6.3 装入自定义调色板 28
4.7 定义光标热点 28
4.8 使用数据传递区 28
4.9 使用ZoomIn检查图案 29
4.10 小结 29
第五章 设计会话框:会话框编辑器 29
5.1 会话框编辑器怎样处理文件 30
5.1.1 会话框描述 31
5.1.2 资源文件 32
5.1.3 包含文件 32
5.2 安装和撤除用户控制框 33
5.2.1 安装用户控制框 33
5.2.2 撤消用户控制框 33
5.3 观察会话框:会话框编辑器窗口 33
5.3.1 模式显示 35
5.3.2 工具箱 35
5.3.3 选择项状态窗口 35
5.4 打开文件和会话框 36
5.4.1 打开资源文件 36
5.4.2 打开包含文件 36
5.4.3 打开会话框 36
5.5 编辑会话框中的控制框 36
5.5.1 增加控制框 38
5.5.2 处理独立的控制框 38
5.6 处理控制框组 40
5.6.1 移动控制框组 41
5.6.2 定义输入光标序列 41
5.7 处理会话框 42
5.7.1 重设会话框的大小 42
5.7.2 会话框改名 43
5.7.3 定义格式 43
5.7.4 设置内存标志 43
5.7.5 放弃编辑 43
5.8 在资源之间移动会话框 43
5.9 处理包含文件 44
5.9.1 创建新的包含文件 44
5.9.2 装入存在的包含文件 44
5.9.3 编辑包含文件 45
5.9.4 保存包含文件 45
5.10 小结 45
第六章 设计字体:字体编辑器 46
6.1 打开一种字体 46
6.2 编辑字符 47
6.2.1 把象索置亮或置暗 47
6.2.2 改变象素行或列 47
6.2.3 移动象素块 49
6.2.4 改变字符宽度 49
6.2.5 保存对字符的修改 50
6.2.6 取消对字符的修改 50
6.3 编辑字体 50
6.4 改变字体文件头信息 51
6.5 小结 52
第三部分 调试工具和优化选择 53
第七章 保护方式下的调试:Windows CodeView 53
7.1 使用要求 54
7.2 CVM与其他Microsoft调试器的比较 54
7.3 准备进行.CVW 55
7.4 启动调试器 57
7.5 存贮画面信息 60
7.6 CVW屏幕操作 61
7.7 CVW联机提示 64
7.8 显示程序数据 64
7.9 修改程序数据 72
7.10 控制程序执行 72
7.11 应用程序异常终止的处理 76
7.12 结束CVW画面 77
7.13 重新启动CVM调试画面 77
7.14 CVW高级技术 78
7.15 TOOLS.INI文件关于CVW的说明 79
7.16 CVW中的操作举例 79
7.17 小结 82
第八章 实地址方式下的调试:SYMDEB 84
8.1 准备符号文件 84
8.2 安装调试终端 86
8.3 启动Windows的SYMDEB 86
8.4 使用符号映象 89
8.5 启动应用程序 90
8.6 显示分配信息 91
8.7 退出SYMDEB 92
8.8 SYMDEB命令一览表 92
8.9 SYMDEB命令说明 97
第九章 保护方式下的高级调试:80386调试器 110
9.1 准备80386调试器的符号文件 110
9.2 启动调试器 110
9.3 应用程序的失败 111
9.4 调试器命令格式 112
9.5 常用命令目录 114
第十章 监督信息:SPY 142
10.1 显示信息 142
10.2 选择项 143
10.3 选择窗口:窗口清单 143
10.4 打开或关闭SPY:SPY清单 144
10.5 小结 144
第十一章 观察应用程序数据堆:HeapWalker 145
11.1 Heap Walker如何查看内存 145
11.2 Heap Walker窗口 145
11.3 使用Heap Walker命令 146
11.4 对使用Heap Walker的几点建议 149
11.5 小结 150
第十二章 移动内存:Shaker 150
12.1 Shaker用法 150
12.2 小结 151
第十三章 分析CPU时间:Profiler 151
13.1 Profiler一览 151
13.2 准备运行Profiler 152
13.3 使用Profiler函数 152
13.4 样本代码 156
13.5 显示样本:SHOWHITS.EXE 157
13.6 小结 158
第十四章 磁盘转贮区分析:Swap 159
14.1 准备运行Swap 159
14.2 运行Swap 160
14.3 显示输出 160
14.4 小结 161
第十五章 提供帮助:Help系统 162
15.1 创建一个Help系统:开发阶段 162
15.2 如何对用户显示Help 163
15.3 如何对Help的作者显示 164
15.4 如何对Help编程者显示 165
15.5 小结 165
第十六章 筹划Help系统 165
16.1 准备方案 165
16.2 决定主题文件结构 168
16.3 Help主题词的显示设计 170
第十七章 创建Help主题文件 173
17.1 选择编辑工具 173
17.2 结构化Help主题 173
17.3 编码Help主题词文件 174
17.3.1 分配构造标记 175
17.3.2 分配内容相关的字符串 175
17.4 插入图像 181
17.5 管理主题文件 182
17.6 小结 183
第十八章 建立提示文件 184
18.1 创建提示规划文件 184
18.2 确定主题词文件:Files项 184
18.3 确定建立标记:BuildTags项 185
18.4 确定可选项:options项 185
18.5 指定多个主题词内容:Alias项 189
18.6 映射与内容有关的主题词:MAP项 190
18.7 通过引用嵌入位图:Bitmaps项 191
18.8 编译提示文件 192
18.9 为应用编程而访问提示文件 193
18.10 小结 198
第十九章 提示举例及编译出错信息 198
19.1 提示主题词的例子 198
19.2 提示编译出错信息 203