工具和实用程序
本节提供了对可用来开发 C 编译语言程序的工具和实用程序的概述。
提供了许多工具来帮助您开发 C 编译程序。 工具对以下编程任务提供帮助:
提供了子例程和 shell 命令以供 C 编译程序使用。
在系统中输入程序
系统有一个名为 ed 的行编辑器,用于在文件中输入程序。 系统还具有名为 vi的全屏幕编辑器,该编辑器一次显示一个完整的数据屏幕,并允许对文件进行交互编辑。
检查程序
使用以下命令检查程序格式的一致性和准确性:
| 命令 | 描述 |
|---|---|
| cb | 将 C 语言源程序重新格式化为使用缩进级别显示程序结构的一致格式。 |
| cflow | 生成 C 语言源程序的逻辑流程图。 |
| cxref | 为 C 语言源程序的每个模块生成所有外部引用的列表,包括解析引用的位置(如果它是在程序中被解析的)。 |
| lint | 检查 C 语言源程序中的语法和数据类型错误。 lint 命令可能会比 C 语言编译器更加仔细地检查程序的这些区域,并显示许多指出可能问题的消息。 |
编译和链接程序
要将源代码转换为系统可以运行的程序,必须使用编译器和链接编辑器处理源文件。
编译器是一种程序,它从文件读取文本并将该文件中的编程语言更改为系统理解的格式。 链接编辑器连接程序模块,并确定如何将已完成的程序置于内存中。 要创建此程序的最终格式,系统将执行以下操作:
- 如果文件包含编译器源代码,那么编译器会将它转换为对象代码。
- 如果文件包含汇编语言,那么汇编程序将它转换为对象代码。
- 链接编辑器将在先前步骤中创建的对象文件与在编译器命令中指定的任何其他对象文件链接。
其他可在操作系统上使用的编程语言包括 C++、FORTRAN、COBOL、Assembler 以及其他编译器语言。
可使用不同语言编写部分程序,进行 main 例程调用,然后启动要执行的各个例程。 还可使用编译器程序创建对象代码并链接程序。
更正程序中的错误
可使用随基本操作系统一起提供的以下调试工具:
- dbx 符号调试程序允许对使用 C 语言、C++、FORTRAN、COBOL 以及汇编语言编写的程序进行调试。
- adb 调试程序提供可用来检查、调试并修复可执行二进制文件并检查非 ASCII 数据文件的子命令。
- KDB 内核调试器和 kdb 命令 可帮助您确定在内核中运行的代码中的错误。 可使用此调试程序调试设备驱动程序和内核扩展。
- 跟踪工具通过监视所选系统事件帮助隔离系统问题。
在程序文件中发现语法错误或参数命名不一致时,可使用文本编辑器或字符串搜索和字符串编辑程序在文件中查找并更改字符串。 字符串搜索和字符串编辑程序包括 grep, sed, 和 awk 命令。 要在一个或多个程序文件中进行更改,可将命令包括在 shell 程序中,然后运行此 shell 程序在文件中查找并更改代码。
构建和维护程序
- make 命令从源模块构建程序。 由于 make 命令仅编译从上次构建以来更改的那些模块,使用它可在处理多个源模块时缩短编译时间。
- 源代码控制系统 (SCCS) 允许维持程序的各个独立版本而不用存储每个版本的独立完全副本。 使用 SCCS 能够减少存储需求,并帮助跟踪需要保留大型程序多个版本的项目的开发。
子例程
来自系统库的子例程处理许多复杂或重复的编程情况,从而使您能够致力于某些特殊的编程情况。
Shell 命令
可包括 C 语言程序中许多 shell 命令的功能。 程序中使用的任何 shell 命令在使用该程序的所有系统上必须可用。
然后,您可以在程序中使用 fork 和 exec 子例程在与程序分开的系统部分中作为进程运行该命令。 system 子例程还在程序中运行 shell 命令, popen 子例程使用 shell 过滤器。