目录 1
第一部分 C和C++程序设计快速入门 1
1.1.2 硬件和软件需求 2
1.1.1 最小硬件和软件需求 2
第一章 Visual C++编译器软件包 2
1.1 硬件需求 2
1.2.1 使用何种设置 3
1.2 选择正确的安装选项 3
1.3 典型的Windows安装 4
1.2.2 目录 4
1.5 开发系统 5
1.4 文档 5
1.5.3 Spy++和DDESpy 6
1.5.2 新型集成Dialog Image和Hotspot编辑器 6
1.5.1 新型集成调试器 6
1.5.5 剖析程序 7
1.5.4 MC 7
1.6.1 P-Code 8
1.6 重要的编译器特性 8
1.5.6 PortTool 8
1.5.7 Process Viewer 8
1.5.8 WinDiff 8
1.6.3 基础类库 9
1.6.2 预编译头文件和类型 9
1.6.4 函数嵌入 10
1.7.3 代码生成 11
1.7.2 C++语言 11
1.7 编译器选项 11
1.7.1 C语言 11
1.7.7 预编译头文件 12
1.7.6 优化 12
1.7.4 General 12
1.7.5 列表文件 12
1.8 下章内容 13
1.7.8 预处理器 13
2.2 访问上下文敏感性帮助 14
2.1 开始Visual C++ Workdench 14
第二章 Visual C++ Workbench初步 14
2.4.1 New 15
2.4 File菜单 15
2.3 理解菜单 15
2.4.3 Close 16
2.4.2 Open 16
2.4.8 Print 17
2.4.7 Page Setup 17
2.4.4 Save 17
2.4.5 Save As 17
2.4.6 Save All 17
2.5 Edit菜单 18
2.4.11 Exit 18
2.4.9 近期文件列表 18
2.4.10 近期工程文件列表 18
2.5.6 Delete 19
2.5.5 Paste 19
2.5.1 Undo 19
2.5.2 Redo 19
2.5.3 Cut 19
2.5.4 Copy 19
2.6.1 Find 20
2.6 Search菜单 20
2.5.7 Select All 20
2.5.8 Properties 20
2.6.3 Find in Files 21
2.6.2 Replace 21
2.6.12 Go to Reference 22
2.6.11 Go to Definition 22
2.6.4 GO TO 22
2.6.5 Next Error 22
2.6.6 Previous Error 22
2.6.7 Toggle Bookmark 22
2.6.8 Next Bookmark 22
2.6.9 Previous Bookmark 22
2.6.10 Clear All Bookmarks 22
2.7.1 Files...,New Group...,Settings...和Targets 23
2.7 Project菜单 23
2.6.13 Next Definition 23
2.6.14 Previous Definition 23
2.6.15 Pop Context and Browse 23
2.7.5 Batch Build 24
2.7.4 Rebuild All 24
2.7.2 Compile 24
2.7.3 Build 24
2.8 Resource菜单 25
2.7.11 Close Browes Info File 25
2.7.6 Stop Build 25
2.7.7 Execute 25
2.7.8 Update Dependencies 25
2.7.9 Update All Dependencies 25
2.7.10 Class Wizard 25
2.9.2 Restart 26
2.9.1 Go 26
2.8.1 New 26
2.8.2 Open Binary Data 26
2.8.3 Import 26
2.8.4 Export 26
2.8.5 Symbols 26
2.8.6 Set Includes 26
2.9 Debug菜单 26
2.9.6 Step Out 27
2.9.5 Step Into及Step Over 27
2.9.3 Stop Debugging 27
2.9.4 Break 27
2.9.13 Locals 28
2.9.12 Watch 28
2.9.7 Run to Cursor 28
2.9.8 Exceptions 28
2.9.9 Threads 28
2.9.10 Breakpoints 28
2.9.11 Quick Watch 28
2.10.1 Toolbars 29
2.10 Tools菜单 29
2.9.14 Registers 29
2.9.15 Memory 29
2.9.16 Call Stack 29
2.9.17 Disassembly 29
2.10.3 Options 30
2.10.2 Customize 30
2.11.2 Split 31
2.11.1 New Window 31
2.10.4 Record Keystrokes 31
2.10.5 Playback Recording 31
2.10.6 Profile 31
2.11 Windows菜单 31
2.13 下章内容 32
2.12 Help菜单 32
2.11.3 Hide 32
2.11.4 Cascade 32
2.11.5 Tile Horizontally,Tile Vertically以及Close All 32
2.11.6 Output 32
3.2 输入第一个程序 34
3.1 启动Visual C++ Workbench 34
第三章 编写和编译简单的C/C++程序 34
3.4 存储第一个程序 36
3.3 编辑第一个程序 36
3.5.1 使用工程文件工具 37
3.5 建立第一个程序 37
3.5.2 开始一个新的工程文件 38
3.5.4 运行建立或重建立所有文件 39
3.5.3 向一个工程文件上增加文件 39
3.6 调试第一个程序 40
3.6.4 使用Quick Find和Replace 41
3.6.3 从导出消息窗口切换到编辑窗口 41
3.6.1 理解警告和错误消息 41
3.6.2 使用一种新语言时的常见错误 41
3.6.5 从输出信息窗口换到编辑窗口的一个较快的方法 43
3.6.7 DEBUG.C的Next Rebuild 44
3.6.6 警告和错误消息的值 44
3.7 运行第一个程序 46
3.7.1 使用集成调试器 47
3.8 设置断点 49
3.8.1 带断点运行一个程序 50
3.8.2 使用Quick Watch 51
3.9 下章内容 52
4.1.1 生成位图资源 53
4.1 定制图标、光标及位图 53
第四章 高级Visual C++的特点 53
4.1.2 生成对话框资源 54
4.1.3 光标的热点编辑器 55
4.2 Books Online 56
4.2.1 从Contents窗口中开始一个标题搜索 57
4.2.2 用Search开始一个标题搜索 58
4.3 ZoomIn 59
4.2.3 打印Help标题 59
4.4.1 Spy++ 60
4.4 调试和测试 60
4.4.2 DDEspy 61
4.4.4 WinDiff 62
4.4.3 Process Viewer 62
4.5 下章内容 63
5.1 C的发展史 66
第五章 C和C++基础 66
第二部分 C和C++编程基础 66
5.1.1 与其他语言的关系 67
5.1.2 C语言的优势 68
5.2 ANSI C标准 70
5.1.4 编程的规程 70
5.1.3 C的弱点 70
5.3 C++的进化和面向对象的编程 71
5.4.1 使用C++对象来进行流线代码设计 72
5.4 C++的历史 72
5.4.2 对C的提高 73
5.4.3 对C的主要提高 75
5.5.2 第一个C程序 76
5.5.1 程序的五个基本成分 76
5.5 C 程序的基本元素 76
5.5.4 第二个C程序 78
5.5.3 第一个C++程序 78
5.5.5 第二个C++程序 81
5.5.6 文件 82
6.1 标识符 86
第六章 数据 86
6.2 关键字 87
6.3 标准C和C++数据类型 88
6.3.1 字符 89
6.3.3 unsigned修饰符 90
6.3.2 三种整数 90
6.3.4 浮点数 92
6.3.5 枚举型 93
6.4.1 const修饰符 94
6.4 访问修饰符 94
6.4.2 #define常量 95
6.5.1 pascal 96
6.5 pascal,cdecl,near,far和huge修饰符 96
6.4.3 Volatile修饰符 96
6.4.4 const和volatile一起使用 96
6.5.2 cdecl 97
6.6 数据类型转换 98
6.5.3 near,far和huge 98
6.6.1 显示类型转换 99
6.7.1 外层的变量说明 100
6.7 存储类型 100
6.7.2 内层的变量说明 102
6.8.1 位操作符 103
6.8 操作符 103
6.7.3 变量作用域 103
6.7.4 外层函数说明 103
6.8.3 增量与减量 105
6.8.2 左移和右移 105
6.8.5 赋值操作符 106
6.8.4 算术操作符 106
6.8.6 复合赋值操作符 107
6.8.7 关系和逻辑操作符 108
6.8.8 条件操作符 110
6.9 理解操作符优先顺序 111
6.8.9 逗号操作符 111
6.10 标准C和C++库函数 112
7.1.1 if语句 116
7.1 条件语句 116
第七章 控制 116
7.1.2 if-else语句 117
7.1.3 嵌套if-else 119
7.1.4 if-else-if语句 120
7.1.5 ?条件语句 121
7.1.6 switch语句 122
7.1.7 混合使用if-else-if和switch语句 128
7.2.1 for循环 130
7.2 循环语句 130
7.2.2 while循环 134
7.2.3 do-while循环 136
7.2.4 break语句 138
7.2.6 continue语句 139
7.2.5 使用CodeView 139
7.2.8 一起使用break和continue 140
7.2.7 使用CodeView 140
7.2.9 exit()语句 142
7.2.10 atexit()语句 144
8.1.1 构造原型 147
8.1 函数原型和风格 147
第八章 编写和使用函数 147
8.1.2 通过值调用和通过引用调用 149
8.1.4 作用域 151
8.1.3 存储类型 151
8.1.5 递归 152
8.2.2 void类型的参数 153
8.2.1 形式参数和实际参数 153
8.2 函数参数 153
8.2.3 字符参数 154
8.2.4 整数参数 155
8.2.5 浮点参数 156
8.2.6 双精度参数 158
8.2.7 数组参数 159
8.3.1 void函数类型 160
8.3 函数类型 160
8.3.3 int函数类型 162
8.3.2 char函数类型 162
8.3.4 long函数类型 163
8.3.5 float函数类型 164
8.3.6 double函数类型 165
8.4.1 字符串 166
8.4 main()的参数 166
8.4.2 整数 167
8.4.3 浮点数 168
8.5.1 直接插入 169
8.5 重要的C++特性 169
8.5.2 重载 170
8.5.3 省略号(…) 171
8.6.1 C程序中一个未定义的符号 173
8.6 作用域规则遇到的问题 173
8.6.2 使用具有文件作用域的变量 174
8.6.3 用局部变量屏蔽全局变量 175
8.6.4 C++的作用域问题 176
8.6.5 C++作用域限定操作符 177
9.3 数组说明 178
9.2 数组和C 178
第九章 数组 178
9.1 什么是数组 178
9.4.1 缺省初始化 179
9.4 数组初始化 179
9.4.3 不定长初始化 180
9.4.2 显示初始化 180
9.5 访问数组元素 181
9.6 计算数组大小(sizeof()) 183
9.8 字符串输入输出 185
9.7 数组下标越界 185
9.9 多维数组 187
9.10.1 将数组传给C函数 190
9.10 数组作为函数参数 190
9.10.2 数组传给C++函数 192
9.11.1 gets(),puts(),fgets(),fputs()和sprintf() 197
9.11 字符串函数和字符数组 197
9.11.2 strcpy,strcat,strncmp,strlen 198
10.1 定义指针变量 202
第十章 指针 202
10.1.1 指针变量说明 203
10.1.2 简单语句使用指针变量 204
10.1.3 指针变量初始化 207
10.1.4 地址操作符的错误使用 208
10.1.6 指针的指针 209
10.1.5 数组指针 209
10.1.7 串的指针 211
10.1.8 指针运算 212
10.1.9 指针运算和数组 214
10.1.10 操作符++和--的有关事项 215
10.1.13 指针的大小 216
10.1.12 可移植性 216
10.1.11 比较指针 216
10.2 函数的指针 218
10.3 动态存储 221
10.3.1 使用空指针 223
10.4.1 串(字符型的数组) 225
10.4 指针和数组 225
10.4.2 指针数组 226
10.4.3 更多的有关指针的指针的内容 229
10.4.4 串指针的数组 233
10.5.1 函数返回地址 236
10.5 C++引用类型 236
10.5.3 何时使用引用类型 238
第十一章 C语言中的I/O 239
11.1 流函数 241
11.1.1 打开流 241
11.1.3 改变流缓冲区 242
11.1.2 输入和输出的重定向 242
11.1.4 关闭流 244
11.3 字符输入和输出 245
11.3.1 使用getc(),putc(),fgetc()和fputc() 245
11.2 C中的低级输入和输出 245
11.3.2 使用getchar(),putchar(),fgetchar()和fputchar() 246
11.3.3 使用getch()和putch() 246
11.4 串输入和输出 247
11.4.1 使用gets(),puts(),fgetx()和fputs() 247
11.5 整数输入和输出 248
11.5.1 使用getw()和putw() 248
11.6.1 使用printf()和fprintf() 251
11.6 格式化输出 251
11.7 使用fseek(),ftell()和rewind() 254
11.7.1 使用codeview 257
11.8 格式化输入 259
11.8.1 使用scanf()、fscanf()和sscanf() 259
12.11 cin、cout和cerr 261
12.1.2 抽取(>>)和插入(<<)操作 261
12.1 使用C++精简I/O 261
第十二章 C++的输入、输出介绍 261
12.2 从stream.h到iostream.h 268
12.2.1 操作符和成员函数 268
13.1 C和C++结构 281
13.1.1 C和C++结构:语法和规则 281
第十三章 结构、联合和其他数据结构 281
13.1.3 访问结构成员 283
13.1.2 C++结构:语法和规则的扩展 283
13.1.4 构造一个简单的结构 284
13.1.5 将结构传递给函数 285
13.1.6 构造一个结构数组 287
13.1.7 使用结构指针 289
13.1.8 传递结构数组给函数指针 292
13.1.9 C++中结构的使用 294
13.1.10 对结构的附加操作 296
13.2 联合 298
13.2.1 联合:语法和规则 298
13.2.2 构造一个简单的联合 299
13.3 其他数据类型 300
13.3.1 使用typedef 301
13.3.2 使用枚举类型 302
14.1.1 ANSI C对于类型兼容的定义 305
14.1.2 什么是同一类型 305
14.1 类型兼容 305
第十四章 高级C和C++编程专题 305
14.1.3 枚举类型 306
14.1.4 数组类型 306
14.1.8 多源文件的相容性 307
14.2 宏 307
14.1.7 指针类型 307
14.1.5 函数类型 307
14.1.6 结构和联合类型 307
14.2.1 定义宏 308
14.2.2 宏和参数 308
14.2.3 宏扩展的问题 309
14.2.4 生成和使用自己的宏 310
14.3 高级预处理语句 311
14.3.1 #ifdef和#endif 311
14.2.5 编译器预置的宏 311
14.3.3 #ifndef 312
14.3.4 #if 312
14.3.2 #undef 312
14.3.6 #elif指令 313
14.3.7 #line指令 313
14.3.5 #else指令 313
14.3.9 #pragma指令 314
14.4 条件编译 314
14.3.8 #error指令 314
14.5 高级预处理操作 315
14.5.1 串化操作(#) 315
14.5.2 连接操作(##) 316
14.5.3 字符操作(#@) 316
14.6 头文件的正确使用 317
14.7 有效地使用头文件 317
14.8.1 产生预编译的头 318
14.8.2 在PWB(程序员工作台)上使用预编译头文件 318
14.8 预编译的头文件 318
14.9 limits.h和float.h 319
14.10 错误处理:perror() 320
14.11.4 Compact(紧缩) 321
14.11.5 Large(大) 321
14.11.3 medium(中) 321
14.11 存储模式 321
14.11.1 Tiny(微) 321
14.11.2 small(小) 321
14.11.6 Huge(巨) 322
14.12 动态存储分配:链表 322
14.12.1 使用链表时需要考虑的事项 323
14.12.2 一个简单的链表 323
15.1 并非是新内容 328
15.2 传统结构化程序设计 328
第十五章 面向对象的编程介绍 328
第三部分 C++面向对象编程基础 328
15.4 C++和面向对象程序设计 329
15.3 面向对象的程序设计 329
15.5 面向对象的术语 330
15.5.1 封装 331
15.5.2 类的层次性 331
15.6 认识C++类 332
15.6.1 一个作为私有类的结构 332
15.6.2 C++类的语法和规则 337
15.6.3 一个简单的C++类 338
16.1 附加的类特性 341
16.1.1 一个简单的类 341
第十六章 C++类 341
16.1.2 嵌套类 342
16.1.3 构造函数和析构函数 345
16.1.4 重载类的成员函数 351
16.1.5 使用友元函数来存取私有类变量 355
16.1.6 使用this指针 357
16.2 使用操作符重载 358
16.2.1 操作符重载和函数调用 359
16.2.2 重载的语法 359
16.3.1 派生类的语法 361
16.3 派生类 361
16.3.2 产生派生类 362
第十七章 C++的I/O 367
17.1 枚举类型 367
17.2 引用变量 368
17.3 缺省参数 370
17.4 memset() 371
17.5 格式化的输出 372
17.6 C/C++I/O选择 376
17.7 iostream类列表 376
17.7.1 输入流类 379
17.7.2 输出流类 380
17.7.3 缓冲流类 382
17.7.4 串流类 384
17.8 二进制文件 386
17.9 使用extern“C”来联结C和C++代码 388
17.10 编写自己的操纵符 389
17.10.1 无参数的操纵符 390
17.10.2 带有一个参数的操作器 391
17.10.3 多参数的操纵符 391
第十八章 基于面向对象环境的工作 395
18.1 C++中一个面向对象的栈 395
18.2.1 父类的产生 398
18.2 C++中面向对象的连接表 398
18.2.2 派生子类 399
18.2.3 使用友元类 400
18.2.4 测试一个完整的程序 403
18.2.5 连接表输出 411
18.3 面向对象C++的其他内容 413
第十九章 更具威力的编程:选择重要的C和C++库 416
19.1 Microsoft C和C++头文件 416
第四部分 系统访问、库及混合语言接口 416
19.2 标准库函数(stdlib.h) 417
19.2.1 实现数据转换 418
19.2.2 实现查找和排序 419
19.2.3 混合操作 422
19.3.1 查测是否是字母/数字、字母、ASCII值 424
19.3 字符函数(ctype.h) 424
19.3.2 检测是否是控制、空白和标点字符 426
19.3.3 转换为ASCII码、小写字母、大写字母 427
19.4 字符串函数(string.h) 429
19.4.1 内存函数 430
19.4.2 使用字符串函数 432
19.5 数学函数(math.h) 436
19.5.1 建立三角函数值的表 437
19.6 时间函数(time.h) 438
19.6.1 时间和日期的结构和语法 439
19.7.1 bios.h头文件 444
19.7 依赖于系统的函数 444
19.7.2 dos.h头文件 446
20.1 直接插入汇编语言代码 452
第二十章 Microsoft C/C++和汇编语言的混合编程 452
20.1.1 产生音响 453
20.1.2 并行端口作为通用I/O端口 454
20.1.3 控制LED发光管 455
20.2 创立C/C++和汇编语言模块 457
20.2.1 传递函数参数 457
20.2.2 传递不同数据类型的参数 458
20.2.3 简单的C和汇编语言连接 460
20.2.4 用C和汇编语言连接硬件接口 463
20.2.5 由C向汇编语言传递数组 468
21.1.1 Windows环境快速浏览 472
21.1.2 使用Windows的优越性 472
21.1 Windows程序设计语言 472
第五部分 Windows程序设计基础 472
第二十一章 Windows编程:概念和工具 472
21.1.3 新的Windows可执行文件的格式 478
21.2 Windows编程:概念和词汇 478
21.2.1 Windows的窗口 479
21.2.2 Windows布局 479
21.2.3 C/C++中的Windows类 481
21.2.4 OOP及Windows 481
21.2.5 发送和接收Windows消息 484
21.2.6 访问Windows函数 486
21.2.7 Windows头文件:Windows.h 487
21.2.8 Windows应用程序的组成成分 487
21.3 Microsoft Visual C++ Windows工具 488
21.3.1 使用Make或Project文件 488
21.3.3 使用Image和Dialog编辑器 489
21.3.2 创建资源 489
21.3.4 在命令行使用资源编译器(RC) 500
22.1 应用程序框架 503
22.1.1 有效地使用句柄 503
第二十二章 面向过程开发:用C编写Windows应用程序 503
22.1.2 考察Windows应用程序中的成分 504
22.2 Make或Project的实用工具 513
22.2.1 NMAKE工具 513
22.2.2 工程工具 514
22.3 一个简单的应用程序和例子 514
22.3.1 画椭圆 517
22.3.2 画弦 518
22.3.3 画饼图瓣 520
22.3.4 画矩形 520
22.4 使用SWA开发一个正弦波应用程序 521
22.5 创建Windows饼图应用程序 525
22.5.3 22PIE.H头文件 532
22.5.4 22PIE.RC资源文件 532
22.5.1 工程文件 532
22.5.2 22PIE.DEF文件 532
22.5.5 22PIE.C程序 534
22.6 传统C Windows编程的更多信息 536
第二十三章 面向对象开发:基类库 538
23.1 对基类库的需求 538
23.3 基类库关键特性 539
23.2 基类库设计的思考 539
23.4 一切从CObject开始 540
23.5 重要的基库类 541
23.6 一个简化的应用程序 542
23.6.1 用23SIMPLE.CPP建立一个窗口 542
23.6.2 运行23SIMPLE.CPP 547
23.7 简化的设计保证容易维护 547
第二十四章 面向对象开发:在C++中编写基础类库应用程序 548
24.1 一个简单的应用程序和示例 548
24.1.1 理解24SFCWA.DEF模块定义文件 550
24.1.2 理解24sfcwa.h头文件 550
24.1.3 24SFCWA.CPP应用程序文件 551
24.1.4 运行24SFCWA 552
24.2 在窗口中画基本图形 552
24.2.1 24GDI.DEF模式定义和24gdi.h头文件 556
24.2.2 24GDI.CPP应用程序文件 556
24.2.3 运行24GDI应用程序 557
24.3 使用菜单和对话框的科学波形 558
24.3.1 24four.h头文件 564
24.3.2 24fourr.h资源头文件,24FOUR.RC资源描述文件和24FOUR.DLG对话描述文件 565
24.3.3 24FOUR.CPP应用程序文件 567
24.3.4 运行24FOUR 571
24.4 带有菜单和对话框的直方图 572
24.4.1 24bar.h头文件 579
24.4.2 24bar.h资源头文件、24BAR.RC资源描述文件及24BAR.DLG对话描述文件 580
24.4.3 24BAR.CPP应用程序文件 581
24.4.4 运行24BAR 586
第二十五章 编写简单的Windows NT应用程序 590
第六部分 Windows NT编程技术 590
25.1 向Windows NT移植的重要改变 590
15.1.2 Win32的句柄说明 591
25.1.1 Win32的数据类型与结构 591
25.2 NTSWP应用程序模板 592
25.2.1 NTSWP.C中Win32的区别 594
95.3 添加资源 601
25.3.1 Win32 NTBARCHT.CPP应用程序 611
26.1 Windows NT中为什么使用类库 613
第二十六章 用MFC编写Windows NT应用程序 613
26.2 用于Windows NT的Microsoft Foundation Class Library特征 613
26.3 一个实验几个图形绘制原函数的MFC简单应用程序 614
26.3.1 从NTMFCSHP.CPP学习 618
26.4 用资源进行科学绘图:菜单、对话框和多媒体声音 619
26.3.2 运行NTMFCSHP应用程序 619
26.4.1 ntfour.h头文件 625
26.4.2 资源头文件ntfourr.h,资源脚本NTFOUR.RC和对话框脚本文件NTFOUR.DLG 626
26.4.3 应用程序文件NTFOUR.CPP 628
26.4.4 运行NTFOUR应用程序 632
26.5 一个带有菜单、对话框和多媒体声音资源的商业图 633
26.5.1 头文件ntbar.h 642
26.5.2 资源头文件ntbarr.h、资源脚本文件NTBAR.RC和对话框脚本文件NTBAR.DLG 642
26.5.3 应用程序文件NTBAR.CPP 644
26.5.4 运行NTBAR应用程序 648
26.6 还有什么 650
第二十七章 应用程序和类Wizards 652
第七部分 Wizards 652
27.1 使用Wizard 652
27.1.1 AppWizard 652
27.1.2 ClassWizard 657
27.2 建立应用程序 658
27.3 使用AppWizard生成的代码 660
27.3.1 GRAPH.CPP文件 661
27.3.2 MAINFRM.CPP文件 664
27.3.3 GRAPHDOC.CPP文件 665
27.3.4 GRAPHVW.CPP文件 667
27.4 第一个例子:在客户区绘图 669
27.5 第二个例子:一个简单的文字处理器 673
27.5.1 建立应用程序 676
27.6.1 文件EDITOR.CPP 678
27.6 使用AppWizard生成的代码 678
27.6.2 文件MAINFRM.CPP 682
27.6.3 文件EDITODOC.CPP 685
27.6.4 文件EDITOVW.CPP 687
27.7 下章内容 690
28.1 新的OLE特性和规范 691
第二十八章 介绍对象的链接与嵌入(OLE) 691
28.1.1 对象 691
28.1.3 数据 692
28.1.2 文件 692
28.1.4 嵌入 692
28.1.5 链接 693
28.2 建立一个外壳应用程序 697
28.2.1 使用AppWizard 698
28.2.2 AppWizard文件 701
28.3 建立一个服务器应用程序 717
28.3.1 使用AppWizard 717
28.3.2 AppWizard文件 718
28.4 使用外壳和服务器 735
28.5 现在干什么 735
第八部分 附录 740
附录A 扩展ASCII表 740
B.1 由BIOS 10H中断获得屏幕控制 744
附录B DOS 10H,21H和33H中断参数 744
B.2 CRT的接口控制 744
B.3 字符处理 745
B.4 图形接口 745
B.5 ASCII电传类型输出 746
B.6 DOS 21H中断 746
B.7 通过中断33H进行存取鼠标控制函数 750
附录C 生成动态链接库 754
C.1 生成一个动态链接库 754
C.2 生成一个调用DLL的应用程序 757
附录D 生成Windows定制控件 761
D.1 DLL中的定制控件 761
D.1.1 DLL文件 761
D.1.2 建立DLL应用程序 766
D.2 一个使用定制控件的应用程序 767
D.2.1 应用程序文件 767
D.2.2 建立.EXE应用程序 771
D.3 测试定制控件 772
10.5.2 使用CodeView 2237