《SCO OpenServer开发系统编程工具指南》求取 ⇩

关于本书1

如何使用这本指南1

符号约定2

相关文档3

其它参考资料5

第1章使用编程工具6

1.1 创建源代码6

1.2 将代码存档8

1.3 分析代码9

1.3.1 使用cb10

1.3.2 使用cscope10

1.3.3 使用lint12

1.3.4 使用cflow12

1.3.5 使用cxref13

1.4 将分析过程中所做的修改归档15

1.5 编译代码15

1.5.1 使用make16

1.6 测试代码17

1.7 调试代码18

1.7.1 使用dbxtra18

1.7.2 测试修正的结果22

1.8 程序结构和指导方针22

1.8.1 程序结构23

1.8.2 前导文件26

1.8.3 出错处理26

第2章C编译系统27

2.1 编译和链接27

2.1.1 基本cc命令行语法29

2.1.2 cc命令行选项的一般使用32

2.1.3 链接33

2.2库和前导文件48

2.2.1 前导文件48

2.2.2 如何使用库函数49

2.2.3 C库(libc)51

2.2.4 数学库(libm)55

2.2.5 常规库(libgen)56

2.2.6 标准I/O58

第3章C语言编译程序63

编译模式63

翻译阶段64

3.1.2 标识符65

3.1.3 关键字65

3.1.1 记号65

3.1 源文件和单词化65

3.1.4 常量66

3.1.5 字符串正文68

3.1.6 宽字符串正文68

3.1.7 标点68

3.1.8 注释69

3.2 预处理69

3.2.1 三字符序列69

3.2.2 预处理单词69

3.2.3 预处理指令70

3.3 声明和定义75

3.3.1 基本类型75

3.3.2 作用域77

3.3.3 存储持续时间78

3.3.4 存储类型说明78

3.3.5 声明79

3.3.6 函数定义81

3.4 转换和表达式82

3.4.1 隐含转换82

3.4.2 表达式83

3.4.3 操作符84

3.4.4 操作符的结合性和优先级89

3.4.5 常量表达式89

3.4.6 初始化90

3.5.3 选择语句92

3.5.2 复合语句92

3.5.1 表达式语句92

3.5 语句92

3.5.4 循环语句93

3.5.5 跳转语句94

3.6 可移植性考虑95

第4章COFF链接编辑程序97

4.1 段97

4.2 存储器配置98

4.2.1 地址98

4.2.2 连接98

4.2.3 目标文件98

4.3 链接编辑程序的命令语言99

4.3.1 表达式99

4.3.2 赋值语句100

4.3.3 指向存储器配置101

4.3.4 段定义指令103

4.4 改变入口点111

4.5 使用归档库112

4.6 分配算法113

4.6.1 增量链接编辑114

4.6.2 DSECT,COPY,NOLOAD,INFO和OVERLAY段115

4.6.3 输出文件分块116

4.6.4 不可重定位输入文件116

4.7 输入指令语法图117

第5章lint分析程序121

5.1 lint做些什么122

5.1.1 一致性检查122

5.1.2 可移植性检查123

5.1.3 可疑的结构124

5.2 使用lint125

5.2.1 lint库126

5.2.2 lint过滤程序127

5.2.3 选项和指令127

5.3 理解“lint-特有”的消息131

第6章dbXtra和dbxtra156

6.1 从命令行调用dbXtra和dbxtra156

6.2 dbXtra界面157

6.2.1 配置dbXtra X11和Motif资源159

6.3 dbxtra界面159

6.3.1 屏幕方式160

6.3.2 dbxtra键盘接口161

6.4 dbxtra辅导166

6.4.1 为dbxtra准备文件166

6.4.3 dbxtra屏幕167

6.4.2 启动dbxtra167

6.4.4 dbxtra求助机制168

6.4.5 打印变量值168

6.4.6 查看源代码和别名168

6.4.7 查看调用栈169

6.4.8 遍历调用栈169

6.4.9 监视变量内容169

6.4.10 分析结果170

6.4.11 检查不同函数170

6.4.12 使用断点171

6.4.13 从断点后继续执行171

6.5.2 Events选单:管理执行时事件172

6.5.1 File选单:保存和退出172

6.5 dbXtra 和dbxtra命令172

6.4.14 退出dbxtra172

6.5.3 eXecute选单:执行被调试程序178

6.5.4 Source选单:存取源文件180

6.5.5 Info选单:调试寄存器、存储单元和表达式181

6.5.6 Options选单:控制调试环境183

6.5.7 help选单185

6.5.8 curese界面命令185

6.5.9 默认命令别名187

6.5.10 dbXtra和dbxtra表达式和条件187

6.6 C++专用调试特性189

6.6.1 使用需求189

6.6.2 重载的函数和操作符189

6.6.3 dbXtra和dbxtra cc命令190

6.6.4 调试子进程191

6.7 连接到运行进程192

第7章sdb:符号调试程序193

7.1 使用sdb193

7.1.1 以一个程序文件启动sdb193

7.1.2 以一个内存映像启动sdb194

7.1.3 显示一个栈的轨迹195

7.1.4 诊断变量195

7.1.5 规定变量格式196

7.2 显示和操作源文件197

7.2.1 显示源文件197

7.3 控制程序的执行198

7.3.1 设置和删除断点198

7.3.2 程序的单步跟踪199

7.3.4 调用函数和过程200

7.3.3 运行程序200

7.4 调试机器语言程序201

7.4.1 显示机器语言语句201

7.4.2 寄存器操作201

7.5 其它命令201

7.6 样本sdb对话202

第8章adb调试程序205

8.1 启动adb205

8.1.1 使用程序文件启动205

8.1.2 使用内存映像文件启动adb206

8.1.3 退出adb206

8.2 显示指令和数据207

8.2.1 形成地址207

8.2.2 形成表达式207

8.2.3 选择数据格式211

8.2.5 使用“?”和“/”命令213

8.2.4 使用“=”命令213

8.2.6 一个例子:简单格式化214

8.3 调试程序执行215

8.3.1 执行一个程序215

8.3.2 设置断点216

8.3.3 显示断点216

8.3.4 继续执行217

8.3.5 使用中断键和退出键停止程序217

8.36 单步执行程序217

8.3.9 显示C栈回溯218

8.3.10 显示CPU寄存器218

8.3.8 删除断点218

8.3.7 杀死程序218

8.3.11 显示外部变量219

8.3.12 一个例子:跟踪多个函数219

8.4 使用adb内存映像223

8.4.1 显示内存映像223

8.4.2 改变内存映像224

8.4.3 建立新的映像项225

8.4.4 验证地址的合法性225

8.5 其它特点226

8.5.1 在一行中组合命令226

8.5.2 建立adb命令文件226

8.5.3 设置输出宽度227

8.5.4 设置最大位移量227

8.5.6 使用UNIX命令228

8.5.7 计算数值和显示正文228

8.5.5 设置默认输入格式228

8.5.8 一个例子:卸出目录和i节点229

8.6 修补二进制文件和内存230

8.6.1 在文件中确定值的位置230

8.6.2 写文件231

8.6.3 修改内存231

第9章C程序员的效率工具232

9.1 prof232

9.1.1 建立程序的剖视版本232

9.1.2 运行被补剖视的程序233

9.1.3 PROFOPTS环境变量233

9.1.4 使用PROFOPTS的例子233

9.2 解释剖视输出235

9.2.1 查看剖视源列表236

9.2.3 lprof所需文件238

9.2.2 为lprof指定程序和数据文件238

9.2.4 文件子集的源列表239

9.2.5 总计选项239

9.2.6 归并选项240

9.2.7 使用lprof的注意事项240

9.2.8 使用prof和lprof提高性能242

9.2.9 使用lprof扩大测试覆盖范围242

9.3 cscope244

9.3.1 配置环境244

9.4 使用cscope245

9.4.1 运行cscope247

9.4.2 交叉引用文件247

9.4.3 一个辅导例子:查找出错信息源248

9.5.1 改变文本串253

9.4.4 条件编辑指令253

9.5 使用cscope的例子253

9.5.2 函数增加实参255

9.5.3 改变变量的值256

第10章make257

10.1 基本功能257

10.2 并行make259

10.3 递归makefile259

10.4 makefile和替换260

10.4.1 依赖行语法260

10.4.2 依赖关系信息260

10.4.3 宏定义261

10.4.4 可执行命令262

10.4.5 输出转换263

10.5.1 隐含规则264

10.5 反缀和转换规则264

10.5.2 归档库266

10.5.3 SCCS文件名中的波浪线267

10.5.4 空后缀269

10.5.5 创建新的后缀规则269

10.6 包含文件270

10.7 动态依赖参数270

10.8 环境变量271

10.9 建议和警告272

10.10 Makefile例子273

10.11 内部规则274

第11章源代码控制系统279

11.1 概述279

11.2.1 文件和目录280

11.2 基础知识280

11.2.2 delta和SID281

11.2.3 SCCS工作文件282

11.2.4 文件管理员283

11.3 建立和使用s-文件283

11.3.1 建立s-文件283

11.3.2 为读而复原文件284

11.3.3 编辑和修改SCCS文件285

11.3.4 使用多个版本286

11.3.5 比较版本之间的差异290

11.3.6 简化版本结构291

11.3.7 显示s-文件292

11.3.8 显示delta版本的信息295

11.3.9 包含与排除delta296

11.4 使用标识关键字297

11.5 使用s-文件标志300

11.6 修改s-文件信息302

11.6.1 加入注释302

11.6.2 修改注释303

11.7 保护和修复s-文件303

11.7.1 检查s-文件305

11.7.2 修复SCCS文件305

11.8 同时编辑一个s-文件306

11.9 SCCS的求助功能307

11.10 make与SCCS307

第12章词法分析程序的生成程序lex310

12.1 lex的工作原理310

12.2.1 字符的集合311

12.2 lex源程序中的正则表达式311

12.2.3 选择和字符组312

12.2.4 重复和辅助定义312

12.2.5 其它312

12.3 lex源程序中的动作312

12.2.2 闭包运算312

12.4 lex源程序的格式314

12.5 lex程序的输入和输出316

12.6 二义性和上下文相关性的处理319

12.6.1 二义性的处理319

12.6.2 上下文相关性的处理319

12.7 其它321

12.8 常用的一些运算符322

12.9 lex与yacc的配合使用323

13.1 yacc的工作原理324

第13章编译程序的编译程序yacc324

13.2 一个简单的例子325

13.3 yacc源程序中的规则328

13.4 yacc源程序中的动作329

13.4.1 语义值的定义330

13.4.2 复杂的语义动作330

13.5 yacc源程序的格式331

13.5.1 说明部分的写法331

13.5.2 运算符优先级和结合性的定义333

15.5.3 程序段部分的写法334

13.6 yacc和lex的配合使用335

13.7 yacc源程序的风格336

13.8 对输入的进一步讨论336

13.9 再论二义性的处理337

13.10 语法分析中错误的处理338

13.11 其它339

13.12 例子339

13.12.1 计算器hoc339

13.12.2 计算器ec341

13.12.3 汉语拼音流分析程序360

第14章共享库372

14.1 什么是共享库372

14.1.1 共享库例子373

14.1.2 建立a.out文件373

14.2 决定是否使用共享库373

14.3 空间考虑374

14.3.1 节省空间374

14.3.4 标识使用共享库的a.out文件376

14.3.2 提高内存空间的利用率376

14.3.3 编写应用程序376

14.3.5 调试使用共享库的a.out文件377

14.4 实现共享库377

14.4.1 主库和目标库377

14.4.2 转移表378

14.5 建立共享库379

14.5.1 建立过程379

14.5.2 编写共享代码的原则382

14.6 选择库成员382

14.6.1 包含大的、使用频繁的例程382

14.7 改变共享库的已有代码383

14.6.5 包含库本身所需例程383

14.6.4 排除维护复杂的例程383

14.6.3 排除使用很多静态数据的程序383

14.6.2 排除不常使用的例程383

14.7.1 将全局数据减至最少384

14.7.2 使用说明文件实现兼容性386

14.7.3 传入符号387

14.7.4 提供和非共享库的兼容性392

14.7.5 调整共享库代码393

14.7.6 检查兼容性394

14.7.7 示例397

附录AANSI定义实现的行为404

A.1 翻译404

A.3 标识符405

A.2.2 交互设备405

A.2.1 main()的实参405

A.2 环境405

A.1.1 识别诊断结果405

A.3.1 无外部链接的有效字符406

A.3.3 有外部链接的有效字符406

A.3.3 字符大小写的意义406

A.4 字符406

A.4.1 源字符符集和执行字符集406

A.4.2 每个字符的位406

A.4.3 映像字符集406

A.4.4 无法表示的字符常量和转义序列407

A.4.5 多字符集常量或长字符常量407

A.5.2 整型的降级408

A.5.1 整型值域和表示408

A.5 整型408

A.4.6 用于多字节转换的规则408

A.4.7 字符的值域408

A.5.3 带符号的按位操作409

A.5.4 除后余数的符号409

A.5.5 负的有符号整数的右移位409

A.6 浮点型409

A.6.1 浮点型值域和表示409

A.6.2 将整数转换为浮点数409

A.6.3 将浮点数转变为短浮点数410

A.7 数组和指针410

A.7.1 最大数组长度410

A.7.2 强制指针410

A.7.3 指针减法410

A.9.2 结构成员的填充与对准411

A.9.4 分配位字段的顺序411

A.9.3 位字段的符号411

A.8 寄存器411

A.9.1 非法存取联合411

A.9 结构、联合、枚举和位字段411

A.8.1 使用寄存器411

A.9.5 位字段的对准412

A.9.6 枚举类型值的类型412

A.10 限定符412

A.10.1 存取易失目标412

A.11 说明符412

A.13.3 带引号的包含文件413

A.13.2 查找可包含的源文件413

A.13.1 字符常量和条件包含413

A.12.1 case值的最大数目413

A.12 语句413

A.11.1 说明符的最大数目413

A.13 预处理指令413

A.13.4 字符序列414

A.13.5 Pragmas414

A.13.6 定义日期和时间415

A.14 库函数415

A.14.1 扩展宏NULL415

A.14.2 assert函数输出的诊断结果416

A.14.3 测试字符416

A.14.4 数学函数和域错误416

A.14.5 浮点数的下溢416

A.14.7 signal函数417

A.14.6 作用域错误和fmod函数417

A.14.8 默认信号418

A.14.9 信号阻塞418

A.14.10 SIGILL信号419

A.14.11 终结的换行符419

A.14.12 换行符前的空字符419

A.14.13 将空字符追加到二进制流419

A.14.14 追加方式中文件位置419

A.14.15 文件缓冲419

A.14.16 存在0长度文件419

A.14.17 组织正确的文件名419

A.14.23 读的范围420

A.14.22 指针值输入420

A.14.21 输出指针值420

A.14.19 关闭打开的文件420

A.14.18 文件存取限制420

A.14.20 使用存在的名字重新命名420

A.14.24 文件位置错误421

A.14.25 perror函数产生的消息421

A.14.26 分配零存储421

A.14.27 abort函数和打开的临时文件421

A.14.28 exit函数421

A.14.29 环境名421

A.14.30 System函数421

A.14.31 strerror函数422

A.15.2 输出方向426

A.15.4 字符测试和大小写转换426

A.15.3 十进制点字符426

A.15 特殊场合特性426

A.15.1 执行字符集的内容426

A.14.33 clock函数426

A.14.32 时区426

A.15.5 理序顺序428

A.15.6 时间和日期格式428

A.16 C实现限制介绍428

A.16.1 环境限制428

A.17 翻译限制430

附录BC编译程序诊断结果432

B.1 消息类型和可用选项432

B.1.1 消息中的操作符名433

B.2 消息433

B.4 其它出错消息532

1999《SCO OpenServer开发系统编程工具指南》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由熊胜峰等编译 1999 北京:清华大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

SCO OpenServer网络指南(1999 PDF版)
SCO OpenServer网络指南
1999 北京:清华大学出版社
INSIGHT 2+专家系统开发工具( PDF版)
INSIGHT 2+专家系统开发工具
ORACLE 应用系统开发工具(1995 PDF版)
ORACLE 应用系统开发工具
1995
软件开发工具包程序设计指南( PDF版)
软件开发工具包程序设计指南
EXSYS  专家系统开发工具培训教程  下(1992 PDF版)
EXSYS 专家系统开发工具培训教程 下
1992
EXSYS  专家系统开发工具使用指南与培训教程  上(1992 PDF版)
EXSYS 专家系统开发工具使用指南与培训教程 上
1992
模糊专家系统原理与设计(1995 PDF版)
模糊专家系统原理与设计
1995 北京:北京航空航天大学出版社
XENIX开发系统程序员指南与宏汇编(1990 PDF版)
XENIX开发系统程序员指南与宏汇编
1990 北京:北京科学技术出版社
Visual C++开发工具实用指南(1997 PDF版)
Visual C++开发工具实用指南
1997 北京:机械工业出版社
管理信息系统开发指南(1992 PDF版)
管理信息系统开发指南
1992 上海:上海科学普及出版社
ORACLE应用系统开发工具(1995 PDF版)
ORACLE应用系统开发工具
1995 北京:清华大学出版社
专家系统开发工具与VP-EXPERT(1991 PDF版)
专家系统开发工具与VP-EXPERT
1991 北京:清华大学出版社
XENIX开发系统 宏汇编用户指南(1994 PDF版)
XENIX开发系统 宏汇编用户指南
1994 北京:科学出版社
XENIX开发系统 C语言指南(1994 PDF版)
XENIX开发系统 C语言指南
1994 北京:科学出版社
农业专家系统及开发工具(1999 PDF版)
农业专家系统及开发工具
1999 北京:清华大学出版社