Oracle Solaris Studio 12.4 Man Pages

Exit Print View

Updated: January 2015
 
 

cxref(1)

Name

cxref - 生成 C 程序交叉引用

Synopsis

cxref [options] files

Description

cxref 命令可分析 C 文件的集合,并生成交叉引用表。cxref 使用特殊版本的 cc 包括符号表中用 #define 定义的信息。它会在每个单独的文件中生成所有符号(自动、静态和全局)的列表,或者与 -c 选项一起使用。此表包括四个字段:"NAME"(名称)、"FILE"(文件)、"FUNCTION"(函数)和 "LINE"(行)。在适当的情况下,"LINE"(行)字段中出现的行号也会显示引用标记。引用标记包括:

 
assignment     =
declaration    -
definition     *

如果未出现任何引用标记,您可以采用常规引用。

Options

cxref 解释 -D-I-U 选项的方式与 cc 相同。此外,cxref 还会解释以下选项:

-C

仅运行 cxref 的首次传递,从而创建稍后可传递给 cxref.cx 文件。这类似于 cclint-c 选项。

-c

将源文件组合到单个报告中。如果不使用 -c 选项,cxref 会为命令行中的每个文件生成单独的报告。

-d

禁用输出声明,从而使报告更易于读取。

-F

输出所引用文件名的完整路径。

-Lcols

在 "LINE"(行)字段中修改列数。如果未指定 -Lcxref 缺省为五列。

-l

不输出本地变量。仅输出全局和文件范围统计信息。

-o file

将输出定向到 file

-R

在交叉引用列表中包括引用的函数。

-s

无提示操作;不输出输入文件名。

-t

将列表格式设置为 80 列宽。

-V

在标准错误中输出版本信息。

-Wname,file,function,line

更改所有字段的缺省宽度。您必须为全部四列提供一个值。缺省宽度为:

 
Field       Characters

NAME        15
FILE        13
FUNCTION    15
LINE        20 (4 per column)
-wnum

将输出格式设置为不宽于 num(十进制)列。如果未指定 -w 或者如果 num 小于 51,则宽度缺省为 80 列。

Examples

 
a.c

1    main()
2    {
3         int i;
4         extern char c;
5
6         i=65;
7         c=(char)i;
8    }

Resulting cross-reference table:

NAME    FILE          FUNCTION    LINE

c       a.c           ---         4-      7=
i       a.c           main        3*      6=   7
main    a.c           ---         2*

Environment Variables

TMPDIR

cxref 会将临时文件写入此环境变量设置的目录。如果未设置 TMPDIRcxref 将使用 /var/tmp [请参见 tmpnam(3S) 中的 tempnam]。

Files

TMPDIR/tcx.*

临时文件

TMPDIR/cx.*

临时文件

See also

cc (1) 、 lint (1)

Diagnostics

错误消息通常意味着无法编译文件。