第一部分 改进程序性能 1
第一章 优化C程序 1
1.1 从程序员工作台控制优化 1
1.2 从命令行控制优化 2
1.3 用编译指令控制优化 2
1.4 缺省优化 3
1.5 调整优化 4
1.6 控制优化的连接器(LINK)任选项 13
1.7 在不同环境中的优化 15
1.8 选择函数调用的约定 15
第二章 内存管理 19
2.1 指针长度 19
2.2 选择标准内存模式 21
2.3 混合内存模式 24
2.4 订做内存模式 29
25 based变量使用 34
第三章 使用嵌入汇编 41
3.1 嵌入汇编的优点 41
3.2 关键字_asm 41
3.3 在_asm块中使用汇编语言 42
3.4 在_asm块中使用C 44
3.5 使用和保存寄存器 47
3.6 标号与转移 48
3.7 调用C函数 49
3.8 把_asm块定义为C的宏 49
3.9 优化 51
第四章 控制浮点数学操作 52
4.1 浮点类型说明 52
4.2 支持long double类型的C运行库 54
4.3 数学软件包概述 54
4.4 选择浮点任选项(/FP) 55
4.5 浮点选择所用的库 58
4.6 浮点任选项间的兼容性 59
4.7 使用N087环境变量 59
4.8 不兼容的情况 60
第二部分 提高程序员的效率 61
第五章 快速编译和连接 61
5.1 快速编译程序 61
5.2 用ILINK快速连接程序 61
第六章 用NMAKE管理开发项目 64
6.1 NMAKE综述 64
6.2 NMAKE命令 64
6.3 NMAKE描述文件 65
6.4 命令行选择项 80
6.5 NMAKE命令文件 81
6.6 TOOLS.INI文件 81
6.7 内嵌文件(In-Line Files) 82
6.8 NMAKE操作序列 83
6.9 NMAKE和MAKE之间的区别 84
第七章 用HELPMAKE建立帮助文件 86
7.1 帮助数据库的结构和内容 86
7.2 调用HELPMAKE 88
7.3 HELPMAKE选择项 89
7.4 建立帮助数据库 92
7.5 帮助正文约定 92
7.6 使用帮助信息数据库格式 95
第八章 定制Microsoft程序员工作台 101
8.1 设置开关 102
8.2 击键赋值 103
8.3 编写宏 104
8.4 编写并建立C扩充函数 107
第九章 用CodeView调试C程序 119
9.1 理解CodeView窗口 119
9.2 调试技术概要 120
9.3 观察和修改程序数据 121
9.4 控制程序运行 126
9.5 重新进行调试会话 128
9.6 高级CodeView技术 130
9.7 用命令行可选项控制CodeView 131
9.8 用TOOLS.INI文件定制CodeView 132
第三部分 特殊环境 133
第十章 图形操作环境 133
10.1 显示方式 133
10.2 混合色彩和改变调色板 137
10.3 在坐标系统中定点 141
10.4 图形函数 145
10.5 使用图形点阵字库 149
第十一章 建立图表和图形 154
11.1 表示图形概述 154
11.2 图形的部分 155
11.3 编写表示图形程序 157
11.4 操纵颜色和模式 165
11.5 定制图表环境 168
第十二章 混合语言程序设计 176
12.1 混合语言调用 176
12.2 语言约定要求 177
12.3 编译和连接 181
12.4 C对高级语言的调用 182
12.5 C对BASIC的调用 183
12.6 C对FORTRAN的调用 186
12.7 C对Pascal的调用 189
12.8 C对汇编语言的调用 192
12.9 混合语言程序设计的中数据处理 199
第十三章 编写可移植程序 208
13.1 硬件环境 208
13.2 编译程序的环境 219
13.3 数据文件的可移植性 224
13.4 Microsoft C涉及可移植方面的问题 224
13.5 Microsoft C字节顺序 224
第四部分 OS/2支持程序 226
第十四章 编写OS/2应用程序 226
14.1 OS/2应用程序接口 226
14.2 CL命令的编译选择项 230
14.3 模式定义文件及输入库 233
14.4 链接行命令选择项 236
14.5 BIND实用程序 237
第十五章 创建多线索OS/2应用程序 238
15.1 多线索程序 239
15.2 多线索C程序举例 242
15.3 编写多线索程序 246
15.4 编译和链接 248
15.5 常见问题 249
15.6 使用保护方式的Codt View调试程序 249
第十六章 与OS/2动态链接 253
16.1 动态链接概述 253
16.2 设计和编写DLL 256
16.3 使用Microsoft C建立DLL 262
附录A 使用退出码 271
附录B C5.1版与6.0版的区别 273
附录C 与具体实现有关的特性 286