Unix系统Ⅴ第4版 程序员指南 ANSI C和编程支持工具 programmer's guide ANSIC C and programming support toolsPDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:贾耀良
- 出 版 社:北京:电子工业出版社
- 出版年份:1992
- ISBN:750531551X
- 页数:505 页
第一章 概述 1
1·2 C编译 1
目录 1
目的 1
1·1 引言 1
1·3 C语言 2
1·3·3 C程序怎样与shell通信 3
记法约定 3
1·3·2 库和前导文件 3
1·3·1 用C进行模块化程序设计 3
1·4 内容提要 4
1·4·2 程序分析 5
1·4·1 创建可执行程序 5
1·4·4 程序开发 6
1·4·3 程序管理 6
1·5 其它工具 7
1·4·5 高级编程公用程序 7
2·2 编译和连接 9
2·1 引言 9
第二章 C编译系统 9
图 11
图2-1 C编译系统的组织 11
2·2·1 基本的cc命令行语法 11
2·2·2 常用的cc命令行任选项 15
2·2·2·1 搜索前导文件 15
2·2·2·2 为符号排错准备程序 16
2·2·2·3 为梗概准备程序 16
2·2·2·4 优化用户程序 16
2·2·3 连接编辑 16
2·2·3·1 默认的安排 17
2·2·3·2 连接标准库 17
2·2·3·3 创建并连接档案库及共享目标库 19
2·2·3·4 规定由连接编辑程序搜索的目录 21
2·2·3·5 规定动态连接程序搜索的目录 23
2·2·3·6 核实运行时的兼容性 25
2·2·3·7 动态连接编程接口 25
2·2·3·8 实现 25
2·2·3·9 建立共享目标的准则 27
2·2·3·10 重复定义的符号 31
2·2·3·11 快速参考指南 32
2·3 库和前导文件 34
2·3·1 前导文件 34
2·3·2 怎样使用库函数 35
图2-2 string(3S)手册页摘要 36
2·3·3 C库(libc) 37
图2-3 怎样在程序中使用strcmp() 37
2·3·3·2 3C子节中的例程 38
图2-4 标准I/O函数和宏 38
2·3·3·1 3S子节中的例程 38
图2-5 字符串操作 39
图2-6 对8位字符编码的整数值分类 40
2·3·4 数学库(libm) 41
图2-7 字符、整数或字符串的转换 41
2·3·3·3 系统调用 41
图2-8 数学函数 42
2·3·5 通用库(libgen) 44
图2-9 libgen函数 44
2·3·6·1 用户始终拥有的三个文件 45
2·3·6 标准I/O 45
2·3·6·2 命名的文件 46
2·3·6·3 传递命令行实参 47
图2-10 使用argv[1]传递文件名 48
图2-11 使用命令行实参设置标志 49
第三章 C语言 51
3·1·1·1 全局行为 51
3·1 引言 51
3·1·1 编译方式 51
3·1·2 怎样使用本章 52
3·1·3 翻译的阶段 52
3·2·2 标识符 53
3·2·1 单词 53
3·2 源码文件和单词切分 53
3·2·3 关键字 53
3·2·4·1 整数常量 54
3·2·4·2 浮点数常量 54
3·2·4 常量 54
3·2·4·3 字符常量 54
3·2·4·4 宽字符和多字节字符 55
3·2·7 注释 56
3·2·5 字符串字面量 56
3·2·6 宽字符串字面量 56
3·3 预处理 56
3·3·1 三元组序列 56
3·3·2·1 预处理数 57
3·3·3 预处理指令 57
3·3·3·1 预处理操作符 57
3·3·2 预处理单词 57
3·3·3·2 宏定义和扩展 58
3·3·3·4 条件编译 59
3·3·3·3 文件蕴含 59
3·3·3·5 行控制 60
3·3·3·6 断言 61
3·3·3·7 版本控制 62
3·3·3·8 pragmas 62
3·4·2·1 基本类型 63
3·3·3·9 出错信息生成 63
3·3·3·10 预定义的名字 63
3·4 声明和定义 63
3·4·2 类型 63
3·4·1 引言 63
3·4·2·3 结构和联合 64
3·4·2·2 类型限定符 64
3·4·2·4 枚举类型 66
3·4·3 作用域 66
3·4·4 存储保留期 66
3·4·5 存储类区分符 67
3·4·6 声明符 67
3·4·6·1 指针声明符 68
3·4·6·2 数组声明符 69
3·4·6·3 函数声明符 69
3·4·7 函数定义 70
3·5·1·4 浮点数和双精度数 71
3·5 转换和表达式 71
3·5·1·1 字符和整数 71
3·5·1·2 有符号和无符号整数 71
3·5·1·3 整型和浮点型 71
3·5·1 隐式转换 71
3·5·1·5 普通算术转换 72
3·5·2 表达式 72
3·5·2·1 对象和左值 72
3·5·3·1 单目操作符 73
3·5·2·2 初等表达式 73
3·5·3 操作符 73
3·5·3·2 强制操作符——显式转换 74
3·5·3·3 乘法类操作符 74
3·5·3·4 加法类操作符 75
3·5·3·7 相等操作符 76
3·5·3·8 按位与操作符 76
3·5·3·5 移位操作符 76
3·5·3·6 关系操作符 76
3·5·3·10 按位或操作符 77
3·5·3·9 按位异或操作符 77
3·5·3·11 逻辑与操作符 77
3·5·3·12 逻辑或操作符 77
3·5·3·13 条件运算符 78
3·5·3·14 赋值表达式 78
3·5·3·16 结构操作符 79
3·5·4 操作符的结合性和优先级 79
3·5·3·15 逗号操作符 79
3·5·5 常量表达式 79
3·5·6 初始化 80
3·6 语句 82
3·6·1 表达式语句 82
3·6·2 复合语句 82
3·6·3·3 switch 83
3·6·3·1 if 83
3·6·3·2 else 83
3·6·3 选择语句 83
3·6·4 迭代语句 84
3·6·4·1 while 84
3·6·4·2 do-while 84
3·6·5 转移语句 85
3·6·5·1 goto 85
3·6·5·2 break 85
3·6·4·3 for 85
3·6·5·3 continue 86
3·6·5·4 return 86
3·7 可移植性的考虑 86
4·1 引言 89
4·1·1 消息类型和可用任选项 89
第四章 C编译程序的诊断 89
4·2 消息 90
4·1·2 消息中的操作符名 90
4·3 操作符名 186
4·4 其它出错消息 187
5·1 引言 189
5·1·1 任选项和指令 189
5·1·2 lint和编译程序 189
第五章 lint 189
5·1·3 消息格式 190
5·2 lint做什么 190
5·2·1 一致性检查 190
5·2·2 检查可移植性 191
5·2·3 可疑的结构 193
5·3 使用 194
5·3·1 lint库 195
5·3·2 lint过滤程序 196
5·3·3 任选项和指令列表 196
5·4 针对lint的消息 199
6·1 引言 229
第六章 sdb 229
6·2 命令行语法 230
6·3 交互式命令 231
6·3·1 显示栈轨迹 232
6·3·2 检查变量 232
6·3·3 文件的显示和操纵 236
6·3·4 活进程的排错 237
6·3·5 机器语言级排错 240
6·3·6 退出 241
6·4 例子 241
图6-1 源程序c_recurse·c 242
图6-2 sdb用法例子 243
第七章 lprof 245
7·1 C梗概工具的概述 245
7·1·1 怎样使用梗概处理程序 246
7·2 编译你的程序 246
7·3 运行梗概处理过的程序 247
7·3·1 RPOFOPTS环境变量 247
7·3·2 使用PROFOPTS的例子 248
7·3·2·1 关闭梗概处理 248
7·3·2·2 合并数据文件 249
7·3·2·3 在另一目录中保留数据文件 249
7·3·2·4 对shell命令文件进行梗概处理 249
7·4 调用lprof 250
7·3·2·5 对调用Fork的程序进行梗概处理 250
7·4·1 寻找源文件 252
7·4·2 源列表输出 252
7·4·3 突出未执行的行 253
图7-1 lprof默认输出例子 253
图7-2 lprof-x输出例子 254
7·4·4 总结报告 254
7·4·5 合并了的数据 255
图7-3 lprof-s输出例子 255
7·5 对档案或共享目标库代码进行梗概处理 256
7·6 注意事项 257
7·6·1 运行时麻烦 257
7·6·2 找不到数据文件 258
7·7 改善程序性能 258
7·7·1 对lprof程序执行prof和lprof 258
图7-4 prof输出 259
图7-5 函数CAfind()的lprof输出 259
图7-6 lprof对CAfind()新版本的输出 262
图7-7 对lprof的新版本的prof输出 263
图7-8 对一个测试完全集的lprof总结输出 264
7·8 改善测试覆盖率 264
图7-9 lprof-x的部分输出 265
7·8·1 搜寻没有文档化的任选项 265
7·8·2 从未调用的函数 265
图7-10 lprof-x对putdat()的输出 266
7·8·3 难于形成的出错条件 266
8·2·1 第一步:设置环境 267
第八章 cScope 267
8·1·1 cscope怎样工作 267
8·1 引言 267
8·2 怎样使用cscope 267
8·2·3 第三步:代码定位 268
8·2·2 第二步:调用cscope 268
图8-2 菜单操纵命令 269
图8-1 cscope任务菜单 269
图8-3 请求对正文串进行搜索 270
图8-4 cscope列举出包含正文串的那些行 271
图8-5 在初始搜索后可供使用的命令 271
图8-6 检查被cscope找到的代码行 272
图8-7 请求列出所有调用alloctest()的函数 273
图8-8 cscope列出调用alloctest()的函数 274
图8-9 cscope列出调用mymalloc()的函数 275
8·2·4 第四步:编辑代码 276
图8-10 用编辑程序检查dispinit() 276
8·2·5 命令行任选项 277
图8-11 使用cscope来解决问题 277
8·2·6 使用观察路径 279
8·2·7 对cscope和编辑程序调用进行栈处理 280
8·2·8·1 把常数改变成预处理程序符号 280
8·2·8 例子 280
图8-12 改变正文串 281
图8-13 cscope提示你选择要改变的行 282
图8-14 选择要改变的行的命令 282
图8-15 标记要改变的行 283
图8-16 cscope显示改变了的正文行 283
图8-17 从cscope中进入shell 284
8·2·8·2 给函数增加一个实参 284
8·3·1 不知道终端类型 285
8·3·2 编辑程序的命令行语法 285
8·3 注意事项 285
8·2·8·3 改变变量的值 285
第九章 make 287
9·1 引言 287
9·2 基本特性 287
9·3·2 续行 291
9·3·3 宏定义 291
9·3 描述文件和替换 291
9·3·1 注释 291
9·3·4 一般形式 292
9·3·5 依赖性信息 292
9·3·6 可执行命令 292
9·3·7 ?*、?@和?<的扩展 293
9·3·8 输出转换 293
9·3·9 递归的Makefile 294
9·3·10 后缀及转换规则 294
9·3·11 隐含规则 294
图9-1 默认的转换路径总结 295
9·3·12 档案库 296
9·3·13 源代码控制系统文件名 298
9·3·17 动态依赖性参数 299
9·3·15 蕴含的文件 299
9·3·14 空后缀 299
9·3·16 SCCS Makefile文件 299
9·4 命令用法 300
9·4·2 环境变量 301
9·4·1 make命令 301
9·5 建议和告诫 302
9·6 内部规则 303
图9-2 make的内部规则 303
10·2·1 术语 309
10·2·2 用admin创建一个SCCS文件 309
第十章 SCCS 309
10·1 引言 309
10·2 基本用法 309
10·2·3 用get检索一个文件 310
10·2·4 用delta记录改动 311
10·2·5 进一步讨论get 311
10·2·6 help命令 312
图10-1 一个SCCS文件的演变 313
10·3 delta编号 313
图10-2 带有分支delta的树形结构 314
10·4 SCCS命令约定 315
图10-3 扩展的分支概念 315
10·4·1 x·file和z·file 316
10·4·2 出错消息 316
10·5 SCCS命令 316
10·5·1 get命令 317
10·5·1·1 ID关键字 318
10·5·1·2 不同版本的检索 318
10·5·1·3 以产生delte为目的的检索 320
10·5·1·4 取消get-e 321
10·5·1·5 附加的get任选项 321
10·5·1·6 不同SID的并行编辑 321
10·5·1·7 相同SID的并行编辑 323
图10-4 新SID的确定 323
10·5·1·8 影响输出的关键字母 324
10·5·2 delta命令 325
10·5·3 admin命令 327
10·5·4 SCCS文件的创建 327
10·5·4·1 为初始delta插入注释 328
10·5·4·2 SCCS文件参数的初始化和修改 328
10·5·5 prs命令 329
10·5·7 help命令 331
10·5·8 rmdel命令 331
10·5·6 sact命令 331
10·5·9 cdc命令 332
10·5·10 what命令 332
10·5·11 sccsdiff命令 333
10·5·12 comb命令 333
10·5·14 vc命令 334
10·5·13 val命令 334
10·6 SCCS文件 334
10·6·1 保护 334
10·6·2 格式 335
10·6·3 审计 336
第十一章 lex 337
1 1·1 引言 337
11·2 生成一个词法分析器程序 337
图11-1 用lex创建和使用一个词法分析器 339
11·3 编写lex源 339
11·3·1 lex规则的基础 339
11·3·1·2 操作符 340
11·3·1·1 正则表达式 340
图11-2 lex操作符 342
11·3·1·3 动作 342
11·3·2·1 一些特殊特征 344
11·3·2 lex高级用法 344
11·3·2·2 lex例程 346
11·3·2·3 定义 348
11·3·2·4 启动条件 349
11·3·2·5 用户例程 351
11·4 lex与yacc一同使用 352
11·5 其它 354
11·6 源格式小结 355
第十二章 YACC 357
12·1 引言 357
12·2 基本的规格说明 359
12·2·1 动作 360
12·2·2 词法分析 363
12·3 语法分析程序的操作 365
12·4 歧义性和冲突 368
12·5 优先级 373
12·6 出错处理 376
12·7 yacc环境 379
12·8·1 输入风格 380
12·8·2 左递归 380
12·8 准备规格说明的一些建议 380
12·8·3 与词法有关的提示 381
12·9·1 在动作中模拟出错和接收 382
12·8·4 保留字 382
12·9·2 在封闭规则中存取值 382
12·9 一些进一步的论题 382
12·9·3 对任意类型值的支持 383
12·9·4 yacc输入语法 385
12·10 两个例子 387
12·10·1 一个简单的例子 387
12·10·2 一个高级的例子 390
第十三章 目标文件 397
13·1 引言 397
13·1·1 文件格式 397
图13-1 目标文件格式 398
13·1·2 数据表示 398
13·2 程序连接 399
图13-3 ELF头 399
图13-2 32位数据类型 399
13·2·1 ELF头 399
13·2·1·1 ELF标识 402
图13-4 e-ident[ ]标识索引 402
图13-5 数据编码ELFDATA2LSB 404
图13-6 数据编码ELFDATA2MSB 404
图13-7 WE32100标识,e-ident 405
13·2·1·2 3B2计算机专用的ELF头标志 405
图13-9 6386计算机标识,e-ident 405
13·2·1·3 6386计算机专用的ELF头标志 405
图13-8 处理机专用的标志,e-flags 405
13·2·2 节头 406
图13-10 特殊节的索引 406
图13-11 节头 407
图13-12 节类型,sh-type 409
图13-13 节头表表项,索引0 411
图13-14 节属性标志,sh-flags 411
图13-15 sh-link和sh-info的解释 412
13·2·2·1 特殊的节 412
图13-16 特殊的节 413
图13-17 特殊的节·got和·plt 415
13·2·3 串表 415
图13-18 串表 416
13·2·4 符号表 416
图13-19 串表索引 416
图13-20 符号表表项 417
图13-21 符号的约束条件,ELF32_ST_BIND 418
图13-22 符号的类型,ELF32_ST_TYPE 419
图13-23 符号表表项:索引0 420
13·2·5 重定位 420
13·2·4·1 符号值 420
图13-24 重定位表项 421
图13-25 3B2计算机的可重定位字段 422
13·2·5·1 3B2计算机专用的重定位类型 422
图13-26 3B2计算机的重定位类型 423
13·2·5·2 6386计算机专用的重定位类型 424
图13-27 6386计算机的可重定位字段 425
图13-28 6386计算机的重定位类型 426
13·3 程序执行 427
13·3·1 程序头 427
图13-29 程序头 428
图13-30 段类型,p-type 429
13·3·1·2 段权限 430
13·3·1·1 基地址 430
图13-31 段标志位,p-flags 430
图13-32 段权限 431
图13-33 正文段 431
13·3·1·3 段内容 431
图13-34 数据段 432
13·3·1·4 注意节 432
图13-35 注意信息 432
图13-36 注意段例 433
图13-37 可执行文件 434
13·3·2 处理机指定的程序装入 434
图13-38 程序头段 435
图13-39 进程映象段 436
图13-40 共享目标段编址的例子 437
13·3·4 动态连接程序 437
13·3·3 程序解释器 437
13·3·4·1 动态节 438
图13-41 动态结构 439
图13-42 动态数组标记,d-tag 440
13·3·4·2 共享目标依赖性 443
13·3·4·3 处理机指定的全局位移表 444
13·3·4·4 处理机指定的过程连接表 445
图13-43 全局位移表 445
图13-44 3B2计算机的过程连接表 446
图13-45 6386计算机绝对的过程连接表 447
图13-46 6386计算机位置独立的过程连接表 447
13·3·4·5 迟缓的符号联编 448
13·3·4·6 散列表 449
图13-47 符号散列表 449
13·3·4·7 初始化和终止函数 450
图13-48 散列函数 450
14·2 IEEE算术 451
14·1 引言 451
第十四章 浮点运算 451
14·2·1 数据类型和格式 452
14·2·1·2 双精度数 452
14·2·1·1 单精度数 452
14·2·2 规范化数 453
14·2·3 非规范化数 453
14·2·4 最大的和最小的可表示的值 453
14·2·5 某些特殊情况的值 453
14·2·6 NaN和无穷大 454
14·2·7 舍入控制 455
14·2·8 异常事件,粘着位和捕俘位 456
14·2·9 3B2计算机上的异常处理 457
14·2·10 6386计算机上的异常处理 458
14·3 二进制和十进制值之间的转换 459
14·4 单精度浮点运算 461
14·4·1 单精度函数 463
14·5 扩充的双精度 463
14·6·1 浮点格式到整数的转换 464
14·6·2 平方根 464
14·6·3 比较和无序条件 464
14·6 IEEE的要求 464
14·6·4·1 十进制的转换 465
14·6·4 输入/输出中的NaN和无穷大 465
第十五章 m4宏处理程序 467
15·1 概述 467
15·2·1 定义宏功能 469
15·2 m4宏功能 469
15·2·2 加引号 470
15·2·3 实参 471
15·2·4 内部运算功能 473
15·2·5 文件蕴含 474
15·2·6 转向 475
15·2·8 条件 475
15·2·7 系统命令 475
15·2·9 字符串操纵 476
15·2·10 打印 477
附录A 增强的asm工具 479
A·1 引言 479
A·2 例子 479
A·2·2 使用 480
A·2·1 定义 480
A·4 详细的描述 481
A·4·1 使用asm宏功能 481
A·3 术语的定义 481
A·4·2 定义 482
A·4·2·1 存储 482
A·4·2·2 asm体 483
A·5 写asm宏功能 483
附录B 映射文件任选项 485
B·1 引言 485
B·2 使用映射文件任选项 485
B·3·1 段声明 486
B·3 映射文件的结构和语法 486
B·3·2 映射指令 488
B·4 映射的例子 490
图B-1 用户定义的映射文件 490
B·3·3 长度符号声明 490
B·5 映射文件任选项的默认值 491
图B-2 默认映射文件 492
B·6 内部映射结构 493
图B-3 简单映射结构 493
B·7 出错信息 495
B·7·2 致命错误 495
B·7·1 告诫 495
词汇表 497
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《近代旅游指南汇刊 31》王强主编 2014
- 《近代旅游指南汇刊二编 10》王强主编 2017
- 《手工咖啡 咖啡爱好者的完美冲煮指南》(美国)杰茜卡·伊斯托,安德烈亚斯·威尔霍夫 2019
- 《近代旅游指南汇刊 13》王强主编 2014
- 《近代旅游指南汇刊 28》王强主编 2014
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《近代旅游指南汇刊 23》王强主编 2014
- 《舍》丁丽丹责编;贾耀平译者;(日)山下英子 2020
- 《工友常识》葛耀良编 1930
- 《十年文学主潮》宋耀良著 1988
- 《新住宅平面设计》贾耀才编著 1997
- 《走进《神曲》》朱耀良著 2004
- 《园林花木病虫害及其防治》孙耀良,卢志足,陈英华编著 1986
- 《废水生物处理新技术 理论与应用 第2版》沈耀良,王宝贞编著 2006
- 《中国岩画考察》宋耀良著 1998
- 《初春别情》潘耀良著 1992
- 《泌尿系结石 第2版》叶章群,邓耀良,董诚等著 2010
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017