书籍详情

SCO Open Server开发系统编程工具指南

SCO Open Server开发系统编程工具指南

作者:熊胜峰等编译

出版社:清华大学出版社

出版时间:1999-01-01

ISBN:9787302031246

定价:¥168.00

内容简介
  本书阐述了如何用SCOOpenServer开发系统创建和维护C程序,它提供了编程工具及如何用它们开发软件的方法。本书包括:随开发系统提供的与ANSI一致的C编译程序的实现细节,调试工具以及如何用它们来发现和排除C语言与汇编语言中的错误方面的信息,以及如何用dbXtra在基于OSF/Motif的窗口环境下调试C语言与C++语言程序的信息等。本书的读者对象为使用SCOOpenServer开发系统及其它UNIX系统开发应用软件的开发人员,以及计算机专业的大学高年级学生或研究生。
作者简介
暂缺《SCO Open Server开发系统编程工具指南》作者简介
目录
关于本书                  
     如何使用这本指南                  
     符号约定                  
     相关文档                  
     其它参考资料                  
   第1章  使用编程工具                  
     1. 1  创建源代码                  
     1. 2  将代码存档                  
     1. 3  分析代码                  
     1. 3. 1  使用cb                  
     1. 3. 2  使用cscoPe                  
     1. 3. 3  使用1int                  
     1. 3. 4  使用cflow                  
     1. 3. 5  使用cxref                  
     1. 4  将分析过程中所做的修改归档                  
     1. 5  编译代码                  
     1. 5. 1  使用make                  
     1. 6  测试代码                  
     1. 7  调试代码                  
     1. 7. 1  使用dbxtra                  
     1. 7. 2  测试修正的结果                  
     1. 8  程序结构和指导方针                  
     1. 8. 1  程序结构                  
     1. 8. 2  前导文件                  
     1. 8. 3  出错处理                  
   第2章  C编译系统                  
     2. 1  编译和链接                  
     2. 1. 1  基本cc命令行语法                  
     2. 1. 2  cc命令行选项的一般使用                  
     2. 1. 3  链接                  
     2. 2  库和前导文件                  
     2. 2. 1  前导文件                  
     2. 2. 2  如何使用库函数                  
     2. 2. 3  C库(1ibc)                  
     2. 2. 4  数学库(1ibm)                  
     2. 2. 5  常规库(1ibgen)                  
     2. 2. 6  标准I/O                  
   第3章  C语言编译程序                  
      编译模式                  
      翻译阶段                  
     3. 1  源文件和单词化                  
     3. 1. 1  记号                  
     3. 1. 2  标识符                  
     3. 1. 3  关键字                  
     3. 1. 4  常量                  
     3. 1. 5  字符串正文                  
     3. 1. 6  宽字符串正文                  
     3. 1. 7  标点                  
     3. 1. 8  注释                  
     3. 2  预处理                  
     3. 2. 1  三字符序列                  
     3. 2. 2  预处理单词                  
     3. 2. 3  预处理指令                  
     3. 3  声明和定义                  
     3. 3. 1  基本类型                  
     3. 3. 2  作用域                  
     3. 3. 3  存储持续时间                  
     3. 3. 4  存储类型说明                  
     3. 3. 5  声明                  
     3. 3. 6  函数定义                  
     3. 4  转换和表达式                  
     3. 4. 1  隐含转换                  
     3. 4. 2  表达式                  
     3. 4. 3  操作符                  
     3. 4. 4  操作符的结合性和优先级                  
     3. 4. 5  常量表达式                  
     3. 4. 6  初始化                  
     3. 5  语句                  
     3. 5. 1  表达式语句                  
     3. 5. 2  复合语句                  
     3. 5. 3  选择语句                  
     3. 5. 4  循环语句                  
     3. 5. 5  跳转语句                  
     3. 6  可移植性考虑                  
   第4章  COFF链接编辑程序                  
     4. 1  段                  
     4. 2  存储器配置                  
     4. 2. 1  地址                  
     4. 2. 2  连接                  
     4. 2. 3  目标文件                  
     4. 3  链接编辑程序的命令语言                  
     4. 3. 1  表达式                  
     4. 3. 2  赋值语句                  
     4. 3. 3  指向存储器配置                  
     4. 3. 4  段定义指令                  
     4. 4  改变入口点                  
     4. 5  使用归档库                  
     4. 6  分配算法                  
     4. 6. 1  增量链接编辑                  
     4. 6. 2  DSECT, COPY, NOLOAn, INFO和OVERLAY段                  
     4. 6. 3  输出文件分块                  
     4. 6. 4  不可重定位输入文件                  
     4. 7  输入指令语法图                  
   第5章  1int分析程序                  
     5. 1  1int做些什么                  
     5. 1. 1  一致性检查                  
     5. 1. 2  可移植性检查                  
     5. 1. 3  可疑的结构                  
     5. 2  使用1int                  
     5. 2. 1  1int库                  
     5. 2. 2  lint过滤程序                  
     5. 2. 3  选项和指令                  
     5. 3  理解“1int-特有”的消息                  
   第6章  dbXtra和dbxtra                  
     6. 1  从命令行调用dbxtra和dbxtra                  
     6. 2  dbXtra界面                  
     6. 2. 1  配置dbxtra x11和Motif资源                  
     6. 3  dbxtra界面                  
     6. 3. 1  屏幕方式                  
     6. 3. 2  dbxtra键盘接口                  
     6. 4  dbxtra辅导                  
     6. 4. 1  为dbxtra准备文件                  
     6. 4. 2  启动dbxtra                  
     6. 4. 3  dbxtra屏幕                  
     6. 4. 4  dbxtra求助机制                  
     6. 4. 5  打印变量值                  
     6. 4. 6  查看源代码和别名                  
     6. 4. 7  查看调用栈                  
     6. 4. 8  遍历调用栈                  
     6. 4. 9  监视变量内容                  
     6. 4. 10  分析结果                  
     6. 4. 11  检查不同函数                  
     6. 4. 12  使用断点                  
     6. 4. 13  从断点后继续执行                  
     6. 4. 14  退出dbxtra                  
     6. 5  dbXtra和dbxtra命令                  
     6. 5. 1  File选单:保存和退出                  
     6. 5. 2  Events选单:管理执行时事件                  
     6. 5. 3  eXecute选单:执行被调试程序                  
     6. 5. 4  Source选单:存取源文件                  
     6. 5. 5  Info选单:调试寄存器. 存储单元和表达式                  
     6. 5. 6  Options选单:控制调试环境                  
     6. 5. 7  help选单                  
     6. 5. 8  curses界面命令                  
     6. 5. 9  默认命令别名                  
     6. 5. 10  dbXtra和dbxtra表达式和条件                  
     6. 6  C++专用调试特性                  
     6. 6. 1  使用需求                  
     6. 6. 2  重载的函数和操作符                  
     6. 6. 3  dbXtra和dbxtra cc命令                  
     6. 6. 4  调试子进程                  
     6. 7  连接到运行进程                  
   第7章  sdb:符号调试程序                  
     7. 1  使用sdb                  
     7. 1. 1  以一个程序文件启动sdb                  
     7. 1. 2  以一个内存映像启动sdb                  
     7. 1. 3  显示一个栈的轨迹                  
     7. 1. 4  诊断变量                  
     7. 1. 5  规定变量格式                  
     7. 2  显示和操作源文件                  
     7. 2. 1  显示源文件                  
     7. 3  控制程序的执行                  
     7. 3. 1  设置和删除断点                  
     7. 3. 2  程序的单步跟踪                  
     7. 3. 3  运行程序                  
     7. 3. 4  调用函数和过程                  
     7. 4  调试机器语言程序                  
     7. 4. 1  显示机器语言语句                  
     7. 4. 2  寄存器操作                  
     7. 5  其它命令                  
     7. 6  样本sdb对话                  
   第8章  adb调试程序                  
     8. 1  启动adb                  
     8. 1. 1  使用程序文件启动                  
     8. 1. 2  使用内存映像文件启动adb                  
     8. 1. 3  退出adb                  
     8. 2  显示指令和数据                  
     8. 2. 1  形成地址                  
     8. 2. 2  形成表达式                  
     8. 2. 3  选择数据格式                  
     8. 2. 4  使用“=”命令                  
     8. 2. 5  使用“?”和“/?, 命令                  
     8. 2. 6  一个例子:简单格式化                  
     8. 3  调试程序执行                  
     8. 3. 1  执行一个程序                  
     8. 3. 2  设置断点                  
     8. 3. 3  显示断点                  
     8. 3. 4  继续执行                  
     8. 3. 5  使用中断键和退出键停止程序                  
     8. 3. 6  单步执行程序                  
     8. 3. 7  杀死程序                  
     8. 3. 8  删除断点                  
     8. 3. 9  显示C栈回溯                  
     8. 3. 10  显示CPU寄存器                  
     8. 3. 11  显示外部变量                  
     8. 3. 12  一个例子:跟踪多个函数                  
     8. 4  使用adb内存映像                  
     8. 4. 1  显示内存映像                  
     8. 4. 2  改变内存映像                  
     8. 4. 3  建立新的映像项                  
     8. 4. 4  验证地址的合法性                  
     8. 5  其它特点                  
     8. 5. 1  在一行中组合命令                  
     8. 5. 2  建立adb命令文件                  
     8. 5. 3  设置输出宽度                  
     8. 5. 4  设置最大位移量                  
     8. 5. 5  设置默认输入格式                  
     8. 5. 6  使用UNIX命令                  
     8. 5. 7  计算数值和显示正文                  
     8. 5. 8  一个例子:卸出目录和i节点                  
     8. 6  修补二进制文件和内存                  
     8. 6. 1  在文件中确定值的位置                  
     8. 6. 2  写文件                  
     8. 6. 3  修改内存                  
   第9章  C程序员的效率工具                  
     9. 1    prof                  
     9. 1. 1  建立程序的剖视版本                  
     9. 1. 2  运行被剖视的程序                  
     9. 1. 3  PROFOPTS环境变量                  
     9. 1. 4  使用PROFOPTS的例子                  
     9. 2  解释剖视输出                  
     9. 2. 1  查看剖视源列表                  
     9. 2. 2  为lprof指定程序和数据文件                  
     9. 2. 3  1prof所需文件                  
     9. 2. 4  文件子集的源列表                  
     9. 2. 5  总计选项                  
     9. 2. 6  归并选项                  
     9. 2. 7  使用1prof的注意事项                  
     9. 2. 8  使用prof和1prof提高性能                  
     9. 2. 9  使用lprof扩大测试覆盖范围                  
     9. 3    cscOpe                  
     9. 3. 1  配置环境                  
     9. 4  使用cscope                  
     9. 4. 1  运行cscoPe                  
     9. 4. 2  交叉引用文件                  
     9. 4. 3  一个辅导例子:查找出错信息源                  
     9. 4. 4  条件编辑指令                  
     9. 5  使用cscope的例子                  
     9. 5. 1  改变文本串                  
     9. 5. 2  函数增加实参                  
     9. 5. 3  改变变量的值                  
   第10章  make                  
     lO. 1  基本功能                  
     l0. 2  并行make                  
     10. 3  递归makefile                  
     10. 4  makefile和替换                  
     10. 4. l  依赖行语法                  
     10. 4. 2  依赖关系信息                  
     lO. 4. 3  宏定义                  
     10. 4. 4  可执行命令                  
     10. 4. 5  输出转换                  
     10. 5  后缀和转换规则                  
     10. 5. 1  隐含规则                  
     lO. 5. 2  归档库                  
     10. 5. 3  SCCS文件名中的波浪线                  
     10. 5. 4  空后缀                  
     10. 5. 5  创建新的后缀规则                  
     10. 6  包含文件                  
     10. 7  动态依赖参数                  
     10. 8  环境变量                  
     l0. 9  建议和警告                  
     10. 10  Makefile例子                  
     10. 11  内部规则                  
   第11章  源代码控制系统                  
     11. 1  概述                  
     11. 2  基础知识                  
     11. 2. 1  文件和目录                  
     11. 2. 2  delta和SID                  
     11. 2. 3  SCCS工作文件                  
     11. 2. 4  文件管理员                  
     11. 3  建立和使用s—文件                  
     11. 3. 1  建立s—文件                  
     11. 3. 2  为读而复原文件                  
     11. 3. 3  编辑和修改SCCS文件                  
     11. 3. 4  使用多个版本                  
     11. 3. 5  比较版本之间的差异                  
     11. 3. 6  简化版本结构                  
     11. 3. 7  显示s-文件                  
     11. 3. 8  显示delta版本的信息                  
     11. 3. 9  包含与排除delta                  
     11. 4  使用标识关键字                  
     11. 5  使用:—文件标志                  
     11. 6  修改s—文件信息                  
     11. 6. 1  加入注释                  
     11. 6. 2  修改注释                  
     11. 7  保护和修复s—文件                  
     11. 7. 1  检查s—文件                  
     11. 7. 2  修复SCCS文件                  
     11. 8  同时编辑一个s—文件                  
     11. 9  SCCS的求助功能                  
     11. 10  make与SCCS                  
   第12章  词法分析程序的生成程序Eex                  
     12. 1  1ex的工作原理                  
     12. 2  1ex源程序中的正则表达式                  
     12. 2. 1  字符的集合                  
     12. 2. 2  闭包运算                  
     12. 2. 3  选择和字符组                  
     l2. 2. 4  重复和辅助定义                  
     12. 2. 5  其它                  
     12. 3  1ex源程序中的动作                  
     12. 4  lex源程序的格式                  
     12. 5  1ex程序的输入和输出                  
     12. 6  二义性和上下文相关性的处理                  
     12. 6. 1  二义性的处理                  
     12. 6. 2  上下文相关性的处理                  
     12. 7  其它                  
     12. 8  常用的一些运算符                  
     12. 9  1ex与yacc的配合使用                  
   第13章  编译程序的编译程序yacc                  
     13. 1  yacc的工作原理                  
     l3. 2  一个简单的例子                  
     13. 3  yacc源程序中的规则                  
     13. 4  yacc源程序中的动作                  
     13. 4. 1  语义值的定义                  
     13. 4. 2  复杂的语义动作                  
     13. 5  yacc源程序的格式                  
     13, 5. 1  说明部分的写法                  
     13. 5. 2  运算符优先级和结合性的定义                  
     13. 5. 3  程序段部分的写法                  
     13. 6  yacc和1ex的配合使用                  
     13. 7  yacc源程序的风格                  
     13. 8  对输入的进一步讨论                  
     13. 9  再论二义性的处理                  
     13. 10  语法分析中错误的处理                  
     13. 11  其它                  
     13. 12  例子                  
     13. 12. 1  计算器hoc                  
     13. 12. 2  计算器ec                  
     13. 12. 3  汉语拼音流分析程序                  
   第14章  共享库                  
     14. 1  什么是共享库                  
     14. 1. 1  共享库例子                  
     14. 1. 2  建立a. out文件                  
     14. 2  决定是否使用共享库                  
     14. 3  空间考虑                  
     14. 3. 1  节省空间                  
     14. 3. 2  提高内存空间的利用率                  
     14. 3. 3  编写应用程序                  
     14. 3. 4  标识使用共享库的a. out文件                  
     14. 3. 5  调试使用共享库的a. out文件                  
     14. 4  实现共享库                  
     14. 4. 1  主库和目标库                  
     14. 4. 2  转移表                  
     14. 5  建立共享库                  
     14. 5. 1  建立过程                  
     14. 5. 2  编写共享代码的原则                  
     14. 6  选择库成员                  
     14. 6. 1  包含大的. 使用频繁的例程                  
     14. 6. 2  排除不常使用的例程                  
     14. 6. 3  排除使用很多静态数据的程序                  
     14. 6. 4  排除维护复杂的例程                  
     14. 6. 5  包含库本身所需例程                  
     14. 7  改变共享库的已有代码                  
     14. 7. 1  将全局数据减至最少                  
     14. 7. 2  使用说明文件实现兼容性                  
     14. 7, 3  传人符号                  
     14. 7. 4  提供和非共享库的兼容性                  
     14. 7. 5  调整共享库代码                  
     14. 7. 6  检查兼容性                  
     14. 7. 7  示例                  
   附录A  ANSI定义实现的行为                  
     A. 1  翻译                  
     A. 1. 1  识别诊断结果                  
     A. 2  环境                  
     A. 2. 1  main()的实参                  
     A. 2. 2  交互设备                  
     A. 3  标识符                  
     A. 3. 1  无外部链接的有效字符                  
     A. 3. 3  有外部链接的有效字符                  
     A. 3. 3  字符大小写的意义                  
     A. 4  字符                  
     A. 4. 1  源字符集和执行字符集                  
     A. 4. 2  每个字符的位                  
     A. 4. 3  映像字符集                  
     A. 4. 4  无法表示的字符常量和转义序列                  
     A. 4. 5  多字符集常量或长字符常量                  
     A. 4. 6  用于多字节转换的规则                  
     A. 4. 7  字符的值域                  
     A. 5  整型                  
     A. 5. 1  整型值域和表示                  
     A. 5. 2  整型的降级                  
     A. 5. 3  带符号的按位操作                  
     A. 5. 4  除后余数的符号                  
     A. 5. 5  负的有符号整数的右移位                  
     A. 6  浮点型                  
     A. 6. 1  浮点型值域和表示                  
     A. 6. 2  将整数转换为浮点数                  
     A. 6. 3  将浮点数转变为短浮点数                  
     A. 7  数组和指针                  
     A. 7. 1  最大数组长度                  
     A. 7. 2  强制指针                  
     A. 7. 3  指针减法                  
     A. 8  寄存器                  
     A. 8. l  使用寄存器                  
     A. 9  结构. 联合. 枚举和位字段                  
     A. 9. 1  非法存取联合                  
     A. 9. 2  结构成员的填充与对准                  
     A. 9. 3  位字段的符号                  
     A. 9. 4  分配位字段的顺序                  
     A. 9. 5  位字段的对准                  
     A. 9. 6  枚举类型值的类型                  
     A. 10  限定符                  
     A. 10. 1  存取易失目标                  
     A. 11  说明符                  
     A. 11. 1  说明符的最大数目                  
     A. 12  语句                  
     A. 12. 1  case值的最大数目                  
     A. 13  预处理指令                  
     A. 13. 1  字符常量和条件包含                  
     A. 13. 2  查找可包含的源文件                  
     A. 13. 3  带引号的包含文件                  
     A. 13. 4  字符序列                  
     A. 13. 5  Pragmas                  
     A. 13. 6  定义日期和时间                  
     A. 14  库函数                  
     A. 14. 1  扩展宏NULL                  
     A. 14. 2  assert函数输出的诊断结果                  
     A. 14. 3  测试字符                  
     A. 14. 4  数学函数和域错误                  
     A. 14. 5  浮点数的下溢                  
     A. 14. 6  作用域错误和fmod函数                  
     A. 14. 7  signal函数                  
     A. 14. 8  默认信号                  
     A. 14. 9  信号阻塞                  
     A. 14. 10  SIGILL信号                  
     A. 14. 11  终结的换行符                  
     A. 14. 12  换行符前的空字符                  
     A. 14. 13  将空字符追加到二进制流                  
     A. 14. 14  追加方式中文件位置                  
     A. 14. 15  文件缓冲                  
     A. 14. 16  存在O长度文件                  
     A. 14. 17  组织正确的文件名                  
     A. 14. 18  文件存取限制                  
     A. 14. 19  关闭打开的文件                  
     A. 14. 20  使用存在的名字重新命名                  
     A. 14. 21  输出指针值                  
     A. 14. 22  指针值输入                  
     A. 14. 23  读的范围                  
     A. 14. 24  文件位置错误                  
     A. 14. 25  perror函数产生的消息                  
     A. 14. 26  分配零存储                  
     A. 14. 27  abort函数和打开的临时文件                  
     A. 14. 28  exit函数                  
     A. 14. 29  环境名                  
     A. 14. 30  System函数                  
     A. 14. 31  strerror函数                  
     A. 14. 32  时区                  
     A. 14. 33  clock函数                  
     A. 15  特殊场合特性                  
     A. 15. 1  执行字符集的内容                  
     A. 15. 2  输出方向                  
     A. 15. 3  十进制点字符                  
     A. 15. 4  字符测试和大小写转换                  
     A. 15. 5  理序顺序                  
     A. 15. 6  时间和日期格式                  
     A. 16  C实现限制介绍                  
     A. 16. 1  环境限制                  
     A. 17  翻译限制                  
   附录B  C编译程序诊断结果                  
     B. 1  消息类型和可用选项                  
     B. 1. 1  消息中的操作符名                  
     B. 2  消息                  
     B. 3  操作符名                  
     B. 4  其它出错消息                  

猜您喜欢

读书导航