AIX命令参考大全,卷 1,a - c - cflow 命令
[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 |
法律条款
]
AIX命令参考大全,卷 1,a - c
cflow 命令
用途
生成外部引用的 C 和 C++ 流程图。
语法
cflow [ -d Number ] [ -I Directory ] [ -i _ ] [ -i p ] [ -i x ] [ -qOption ] [ -r ] [ -MA ] [ -U Name ] [ -NdNumber ] [ -NlNumber ] [ -NnNumber ] [ -NtNumber ] [ -D Name[=Definition ] ] File ...
描述
cflow 命令分析 C、C++、yacc、lex、汇编程序和目标文件并将它们的外部引用图表写至标准输出。
注:cflow 命令对 C++ 语言文件的处理要求具有 IBM C Set++ 编译器/6000 软件包。
cflow 命令将具有 .y、.l 和 .c 后缀的文件发送至 yacc 命令、lex 命令和 cpp 命令用于处理。然后,lint 命令已修改的第一次传递会处理 yacc、lex 和 cpp 输出或任何 .i 文件。cflow 命令将具有 .C 后缀的文件发送至 C Set++ 编译器。
cflow 命令汇编具有 .s 后缀的文件,并从符号表抽取信息(如同它处理 .o 文件一样)。从该输出,cflow 命令会生成外部引用图并将它写至标准输出。
输出的每一行提供以下信息(按从左至右的顺序):
- 后跟足够制表符的行号表示嵌套的级别
- 全局名、冒号及其定义
名称通常是一个未被定义为外部函数的函数,也不是以下划线字符开头的函数(请参阅 -i_ 和 -i 包含标志)。
对于从 C 和 C++ 源文件抽取的信息,其定义包括抽象的类型说明(例如,char *)、被尖括号括起的源文件名和可在其中查找到定义的行号。从目标文件抽取的定义包含文件名和出现符号的位置计数器,比如 .text 或 .data。cflow 命令在 C 样式的外部名称中删除开头的下划线字符。
一旦 cflow 命令显示了名称,稍后会引用仅包含可在其中查找到定义的 cflow 行号的名称。对于未定义的引用,cflow 仅显示 < >(尖括号)。
如果嵌套级别太深,而无法在可用空间中显示,通过管道将输出从 cflow 命令传递至 pr 命令,并使用 -e 标志压缩制表符扩展以使每个制表符停止位少于八个空格。
注:要确保 cflow 命令产生的行号与 lex 和 yacc 文件相匹配,就必须将 .l 或 .y 文件发送至 cflow 命令。
标志
-d Number |
设置为一个十进制整数,即截断流程图的深度。缺省情况下,此为较大数。不要将截断深度设置为非正的整数。 |
-i _ |
包括以下划线字符开头的名称。缺省值不包括这些函数(如果使用 -ix 标志,则不包括对应数据)。 |
-i p |
禁用 ANSI 函数原型。缺省选项将使用可用的原型声明来填写未定义的函数信息。 |
-i x |
包括外部和静态数据符号。缺省值仅包括函数。 |
-r |
产生显示每个函数调用者的反向列表,按所调用的函数排序。 |
-MA |
指定 ANSI 方式。cflow 命令希望 ANSI C 代码是此方式的。操作的缺省方式是扩展方式。 |
-NdNumber |
将维度表大小更改为 Number 参数。Number 的缺省值是 2000。 |
-NlNumber |
将类型节点数更改为 Number 参数。Number 的缺省值是 8000。 |
-NnNumber |
将符号表大小更改为 Number 参数。Number 的缺省值是 1500。 |
-NtNumber |
将树节点数更改为 Number 参数。Number 的缺省值是 1000。 |
此外,cflow 命令能识别 cpp 命令(宏预处理器)的以下标志:
-D Name[=Definition] |
定义 Name 参数,如同由 #define 语句定义一样。缺省的 Definition 是 1。 |
-qOption |
传递 -qOption 至预处理器。例如 -qmbcs 设置由当前语言环境指定的多字节方式,而 -qidirfirst 修改包含在 #include file_name 伪指令中的文件的搜索顺序。 |
-I Directory |
将指定的 Directory 添加至 cflow 程序在其中搜索 #include 文件的目录列表。 |
-U Name |
除去 Name
参数的任何初始定义,其中 Name 是由特定预处理器预定义的保留符号。 |
退出状态
该命令返回以下退出值:
示例
- 要生成组成程序的那些 C 文件的缺省流程图,输入:
cflow timeout.c kill.c error.c
- 要产生具有函数嵌套单一级别的 cflow 图,输入:
cflow -d1 resam.c pptp.c ptpt.c rrr.c whn.c
- 要生成 lex 程序的 cflow 图,输入:
cflow scan.l
- 要生成 yacc 程序的 cflow 图,输入:
cflow yaccfile.y
- 要生成显示在示例 2 中使用的 C 文件中每个函数调用者的倒排列表,输入:
cflow -r resam.c pptp.c ptpt.c rrr.c whn.c
文件
/usr/ccs/bin/cflow |
cflow 命令的驱动程序 |
/usr/ccs/lib/cflow1 |
cflow 命令的可执行(文件) |
/usr/ccs/lib/dag |
cflow 命令的可执行(文件) |
/usr/ccs/lib/flip |
cflow 命令的可执行(文件) |
/usr/ccs/lib/lpfx |
cflow 命令的可执行(文件) |
/usr/ccs/lib/nmf |
cflow 命令的可执行(文件) |
/var/tmp/cf.* |
由 cflow 命令创建的暂时文件。 |
相关信息
as
命令、cpp 命令、lex 命令、lint 命令、nm
命令、pr 命令、yacc 命令。
[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 |
法律条款
]