cxref(1)

名前
cxref - C プログラムの相互参照の作成

形式
cxref [options] files

機能説明
cxref コマンドは、複数の C ファイルを解析して 相互参照テーブルを作成します。 cxref は、特殊バージョンの cc を使って #define で定義された情報をそのシンボルテーブルに登録します。 指定されたファイルに含まれる自動変数、静的変数、大域変数の すべてのシンボルを、ファイルごとに別々のリストにまとめます。 また、 -c オプションが指定された場合は、 指定されたすべてのファイルに含まれるシンボルを 1 つのリストにまとめます。 このテーブルには、 NAME 、 FILE 、 FUNCTION 、 LINE の 4 つのフィールドが含まれます。 LINE フィールドには、必要に応じて行番号とともに参照マークが示されます。 参照マークには次のものがあります。

	割り当て	=
	宣言	-
	定義	*

参照マークが示されない場合は、 一般的な参照と見なすことができます。

オプション
cxref は、 -D 、 -I 、 -U の各オプションを cc と同様に解釈します。そのほか、次のオプションがあります。

-C  cxref の第 1 段階だけを実行し、 .cx ファイルを作成します。このファイルは後で cxref に渡すことができます。このオプションは、 cc や lint の -c オプションと同じような働きをします。

-c  指定したソースファイルの内容を 1 つのリストにまとめます。 -c オプションを指定しないと、 指定した各ファイルごとに別々のリストが生成されます。

-d  宣言の出力を無効にしてリストを読みやすくします。

-F  参照されるファイルのフルパス名を出力します。

-Lcols
    LINE フィールドのカラム数を cols1 に変更します。 -L オプションを指定しないと、 5 カラムに設定されます。

-l  局所変数を出力しません。 大域的な有効範囲 (スコープ) およびファイルの有効範囲 (スコープ) の 統計情報だけを出力します。

-ofile
    出力をファイル file に書き込みます。

-R  参照される関数も相互参照リストに含めます。

-s  入力ファイル名を出力しません (サイレント・モード)。

-t  リストを 80 カラムの幅で書式化します。

-V  バージョン情報を標準エラーに出力します。

-Wname,file,function,line
    すべてのフィールドのデフォルト幅を変更します。 4 つのカラムすべてに対して 1 つの値を指定する必要があります。 各フィールドのデフォルトの幅は次のとおりです。
    フィールド	文字数
    NAME	15
    FILE	13
    FUNCTION	15
    LINE	20 (カラムあたり 4 文字)

-wnum
    最大 num (10 進数) カラムで出力を書式化します。 -w を指定しない場合、または num の値が 51 より小さい場合、出力の幅は 80 カラムに設定されます。

環境変数

TMPDIR
    cxref は、この環境変数で設定されたディレクトリに一時ファイルを書き込みます。 TMPDIR が設定されていない場合は /var/tmp が使用されます ( tmpnam(3S)の tempnam を参照)。

ファイル

TMPDIR/tcx.*
    一時ファイル

TMPDIR/cx.*
    一時ファイル

使用例
a.c
1	main()
2	{
3		int i;
4		extern char c;
5
6		i=65;
7	 	c=(char)i;
8	}
上記のファイルから、次の相互参照が作成されます。
NAME	FILE	FUNCTION	LINE

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

関連項目
lint(1)、 cc(1)

診断
通常、エラーメッセージが出力された場合は、 指定されたファイルがコンパイルできないと考えてください。