cxref(1)

NAME
cxref - generate C program cross-reference

SYNOPSIS
cxref [options] files

DESCRIPTION
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.

OPTIONS
cxref interprets the -D, -I, -U options in the same manner that cc does. In addition, cxref interprets the following options:

-C  Run 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.

-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  Disable printing declarations, making the report easier to read.

-F  Print the full path of the referenced file names.

-Lcols
    Modify the number of columns in the LINE field. If you do not specify -L, cxref defaults to five columns.

-l  Do not print local variables. Print only global and file scope statistics.

-o file
    Direct output to file.

-R  Include referenced functions in the cross-reference list..

-s  Operate silently; do not print input file names.

-t  Format listing for 80-column width.

-V  Print version information on the standard error.

-Wname,file, function, line
    Change the default width of at least one field. The default widths are:
    Field	Characters
    NAME	15
    FILE	13
    FUNCTION	15
    LINE	20 (4 per column)

-wnum
    Format output no wider than num (decimal) columns. If -w is not specified, or if num is less than 51, the width will default to 80 columns.

ENVIRONMENT

TMPDIR
    cxref writes temporary files to the directory set by this environmental variable. If TMPDIR is not set, cxref uses /var/tmp [see tempnam in tmpnam(3S)].

FILES

TMPDIR/tcx.*
    temporary files

TMPDIR/cx.*
    temporary files

EXAMPLE
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*

SEE ALSO
lint(1), cc(1) (Solaris 2.x only)

DIAGNOSTICS
Error messages usually mean you cannot compile the files.