第一部分 C语言参考手册 1
第一章 引言 1
1.1概貌 1
1.2关于这本手册 2
1.3约定 2
第二章 C的基本元素 4
2.1简介 4
2.2字符集 4
2.3常数 9
2.4标识符 12
2.5关键字 12
2.6注解 13
2.7 token—语法单位 14
第三章 程序结构 15
3.1简介 15
3.2源程序 15
3.3源文件 16
3.4程序的执行 17
3.5生存期和可见性 18
3.6有名类 20
第四章 说明 22
4.1简介 22
4.2类型指定符 23
4.3说明符 25
4.4变量说明 28
4.5函数说明 35
4.6存贮类 37
4.7初始化 41
4.8类型说明 43
4.9类型名 44
第五章 表达式和赋值 46
5.1简介 47
5.2运算对象 47
5.3运算符 51
5.4赋值运算符 59
5.5求值的优先级及顺序 61
5.6付作用 63
5.7类型转换 63
第六章 语句 69
6.1简介 69
6.2 break语句 70
6.3复合语句 70
6.4 continue语句 71
6.5 do语句 72
6.6表达式语句 72
6.7 for语句 72
6.8 goto语句和标号语句 73
6.9 if语句 74
6.10空语句 75
6.11 return语句 75
6.12 switch语句 76
6.13 while语句 78
第七章 函数 79
7.1简介 79
7.2函数定义 79
7.3函数说明 83
7.4函数调用 84
第八章 预处理器指示 90
8.1简介 90
8.2显示常数和宏 90
8.3包含文件 93
8.4条件编译 94
8.5行控制 97
附录A 区别 99
A.1简介 99
附录B 语法概要 101
B.1语法单位-token 101
B.2表达式 104
B.3说明 106
B.4语句 109
B.5定义 109
B.6预处理器指示 110
第二部分 C用户指南 111
第一章 简介 111
1.1简介 111
1.2关于这本指南 111
1.3标记规则 112
第二章 CC:C编译器 113
2.1概述 113
2.2文件名协约规则 114
2.3 cc命令行 114
2.4命令行选择项 115
2.5存贮模式 124
2.6特殊的关键字 127
第三章 ld:XENIX链接编辑器 130
3.1简介 130
3.2使用链接编辑器 130
3.3链接编辑器的选择项 130
3.4可执行的目标代码文件 132
3.5公用变元的分配 132
第四章 adb:一个程序调试器 134
4.1简介 135
4.2启动和停止adb 135
4.3显示指令和数据 137
4.4调试程序执行 144
4.5使用adb内存映象 150
4.6其它特点 153
4.7修补二进制文件 157
第五章 C语言与汇编语言的兼容性 158
5.1简介 158
5.2 C调用序列 158
5.3进入汇编过程 158
5.4返回值 159
5.5退出程序 159
5.6编程示例 159
第六章 出错处理 161
6.1简介 161
6.2使用标准错误文件 161
6.3使用errno变量 162
6.4打印出错消息 162
6.5使用出错信号 163
6.6遇到系统错误 163
第七章 iAPX-286和文件格式 164
7.1引言 166
7.2 iAPX-286系统体系结构 166
7.3 Intel目标模块格式 167
7.4术语定义 168
7.5模块标识和属性 169
7.6段定义 170
7.7段寻址 170
7.8符号定义 170
7.9索引 170
7.10定位的概念框架 171
7.11相对自身的定位 174
7.12相对段的定位 175
7.13记录次序 175
7.14记录格式介绍 176
7.15记录类型列表(按数值排序) 193
7.16公用变量的类型表示 194
7.17分段的x.out格式 196
附录A C语言的可移植性 206
A.1 概述 206
A.2程序的可移植性 207
A.3机器的硬件 207
A.4编译器的差异 211
A.5程序环境的差异 215
A.6数据的可移植性 215
A.7 Lint 215
A.8字节次序一览表 216
附录B C编译器和连接编辑器的出错消息 218
B.1概述 218
B.2编译器出错消息 218
B.3连接编辑器的出错消息 234
第三部分 C函数库指南 240
第一章 概述 240
1.1概述 240
1.2本手册指南 240
1.3符号约定 240
第二章 运行环境子程序 242
2.1概述 242
2.2缓冲管理 242
2.3字符的分类和转换 243
2.4光标子程序 244
2.5数据库管理子程序 246
2.6文件处理 246
2.7组文件和口令文件的管理 247
2.8数学子程序 248
2.9内存分配 249
2.10消息管理子程序 249
2.11数值转化 250
2.12进程管理 250
2.13读写文件 251
2.14检索子程序 252
2.15信号量管理 252
2.16共享内存子程序 252
2.17流管理子程序 253
2.18字符串操作 254
2.19系统记帐管理 255
2.20终端管理子程序 256
2.21时间管理子程序 256
2.22其它子程序 256
第三章 头文件 259
3.1概述 262
3.2目录/usr/include中的文件 262
3.3目录/usr/include/sys中的文件 266
3.4目录/usr/include/dos中的文件 270
3.5目录/usr/include/dos/sys中的文件 272
第四章 使用标准的I/O与函数 273
4.1概述 274
4.2使用命令行自变量 275
4.3使用标准文件 276
4.4使用流函数 281
4.5使用更多的流函数 289
4.6使用低级函数 291
4.7使用文件描述符 291
第五章 屏幕处理 298
5.1概述 299
5.2准备屏幕 301
5.3使用标准屏幕 303
5.4创建和使用窗口 308
5.5使用其它窗口函数 316
5.6结合使用光标移动和其它操作 318
5.7控制终端 319
第六章 字符和字符串处理 322
6.1概述 322
6.2使用字符函数 323
6.3判断标点 325
6.4使用字符串函数 326
第七章 使用进程管理 331
7.1概述 331
7.2使用进程 331
7.3调用一个程序 332
7.4终止一个程序 332
7.5启动一个新程序 333
7.6通过shell运行一个程序 334
7.7复制一个进程 334
7.8等待一个进程 335
7.9继承打开的文件 336
7.10程序举例 336
第八章 创建和使用管道 338
8.1 概述 338
8.2给新进程打开管道 338
8.3对进程读取和写入 339
8.4关闭管道 339
8.5打开低级管道 340
8.6程序举例 341
8.7命名的管道 343
第九章 使用系统资源 345
9.1概述 346
9.2分配内存 346
9.3锁控文件 351
9.4使用信号量 353
9.5使用共享内存 360
9.6消息队列 369
附录A XENIX到DOS:一个交叉的开发系统 374
A.1概述 374
A.2建立源文件 375
A.3编译DOS源文件 375
A.4使用汇编语言的源文件 376
A.5建立和连接目标文件 376
A.6执行和调试DOS程序 376
A.7系统间传送程序 376
A.8建立DOS库 377
A.9运行系统的公用函数 377
附录B 系统出错值 380
B.1概述 380
B.2出错值 380
B.3数学错误 383
第四部分 宏汇编用户指南 385
第一章 引言 385
1.1纵览 385
1.2必备知识 385
1.3关于这本指南 385
1.4怎样开始 385
1.5标记约定 385
第二章 masm:宏汇编 387
2.1引言 387
2.2开始和使用masm 387
2.3 masm选择项的使用 387
2.4阅读汇编列表 391
附录A 错误信息 397
第五部分 宏汇编参考手册 407
第一章 引论 407
1.1引论 407
1.2关于这本指南 407
1.3必备知识 408