The cxref command analyzes a collection of C files
and builds a cross-reference table.
cxref uses a special version of
cc to include #define'd
information in its symbol table.
It generates a list of all symbols (auto, static,
and global) in each individual file, or, with the
-c
option, in combination.
The table includes four fields: ``NAME'', ``FILE'', ``FUNCTION'',
and ``LINE''.
The line numbers appearing in the ``LINE'' field
also show reference marks as appropriate.
The reference marks include:
assignment
=
declaration
-
definition
(**
If no reference marks appear, you can assume a general reference.
cxref processes supplementary code set characters
according to the locale specified in the LC_CTYPE
environment variable
(see LANG on
environ(5)).
The -D, -I, -Kdollar and -U
options are interpreted as by cc.
In addition, cxref interprets the following options:
-c
Combine the source files into a single report.
Without the -c option, cxref generates a separate report
for each file on the command line.
-d
Disables printing declarations, making the report easier to read.
-l
Does not print local variables; prints only global and file scope statistics.
-ofile
Direct output to file.
-s
Operates silently; does not print input file names.
-t
Format listing for 80-column width.
-wnum
Width option that formats output no wider than num (decimal) columns.
This option will default to 80 if num is not specified or is less than 51.
-C
Runs only the first pass of cxref, creating a .cx file that
can later be passed to cxref.
This is similar to the -c option of cc or lint.
-F
Prints the full path of the referenced file names.
-Lcols
Modifies the number of table columns in the LINE field.
If you do not specify a number, cxref defaults to five columns.
-V
Prints version information on the standard error.
-Wname,file,function,line
Changes the default width of at least one field.
The default widths are:
Field
Columns
NAME
15
FILE
13
FUNCTION
15
LINE
20 (4 per table column)
Files
TMPDIR/tcx.
temporary files
TMPDIR/cx.
temporary files
LIBDIR/xref
accessed by cxref
LIBDIR
usually /usr/ccs/lib
TMPDIR
usually /var/tmp but can be redefined by setting the environment
variable TMPDIR
(see tempnam in
tmpnam(3S)).