Sun Studio 12: C ユーザーズガイド

8.2.5 コマンド行オプション

すでに述べたとおり、cscope はデフォルトでは現ディレクトリ内にある C、lex、およびソースファイルのシンボル相互参照表を作成します。次に例を示します。


% cscope

これは次のように指定するのと同じことです。


% cscope *.[chly]

指定したソースファイルを表示するには、ソースファイル名を引数に指定して cscope を起動します。


% cscope <ファイル 1>.c <ファイル 2>.c <ファイル 3>.h

cscope のコマンド行オプションを使用して、相互参照表に含まれるソースファイルをさらに自由に指定することもできます。それには、次のように-s オプションのあとにコンマで区切られた任意の数のディレクトリ名を指定して cscope を起動します。


% cscope– s <ディレクトリ 1>,<ディレクトリ 2>,<ディレクトリ 3>

cscope は現ディレクトリ内だけでなく、指定されたディレクトリ内にあるすべてのソースファイルを対象に相互参照表を作成します。ファイル中にリストされているソースファイル (ファイル名をスペースやタブまたは復帰改行で区切ったもの) のすべてを表示するには、– i オプションとリストを持つファイル名を指定して cscope を起動します。


% cscope– i <ファイル>

ソースファイルがディレクトリツリーの中にある場合は、次のコマンドでディレクトリツリー内のすべてのソースファイルを簡単に表示できます。


% find .–  name ’*.[chly]’– print | sort > <ファイル>
% cscope– i <ファイル>

このオプションを使用しても、コマンド行でファイルが指定されている場合は、指定されたファイル以外については無視されるので注意してください。

-I オプションは、cc に対する -I オプションと同じような形式で cscope にも指定できます。「2.14 インクルードファイルを指定する方法」を参照してください。

-f オプションを使用すると、デフォルトの cscope.out 以外のファイルを相互参照ファイルとして指定できます。このオプションは、同じディレクトリ内に異なるシンボル相互参照ファイルを保管するのに役立ちます。たとえば、2 つのプログラムが同じディレクトリ内にあるが、すべてのファイルを共有しているとは限らない場合に使用します。


% cscope– f admin.ref admin.c common.c aux.c libs.c
% cscope– f delta.ref delta.c common.c aux.c libs.c

この例では、2 つのプログラム admindelta のソースファイルは同じディレクトリ内にありますが、プログラムを構成するファイルは異なっています。cscope 起動時に、別のシンボル相互参照ファイルを指定しておくことによって、2 つのプログラムの相互参照情報を別々に保管できます。

– pn オプションを使用すると、検索結果でリストされたファイルのあるパス名やそのパス名の一部を表示することができます。– p のあとの n には、パス名の中で最後から何番目までの要素を表示させたいかを指定します。デフォルト値は 1 で、これはファイル名そのものを意味します。したがって現ディレクトリが home/common の場合、次のコマンドによって


% cscope– p2

検索結果のリストに表示されるパス名は、common/<ファイル 1>.ccommon/<ファイル 2>.c のようになります。

表示したいプログラムが大量のソースファイルを含む場合、– b オプションを使用して、相互参照表を作成したあとで cscope を終了することができます。このとき、作業メニューは表示されません。パイプを使用して、cscope– b の出力を batch(1) コマンドの入力につなげると、cscope は相互参照表をバックグラウンドで作成します。


% echo ’cscope -b’ | batch

相互参照表がいったん作成されると、その後、ソースファイルまたはソースファイルのリストを変更しないかぎり、次のように指定するだけで


% cscope

相互参照表がコピーされ、通常どおり作業メニューが表示されます。このコマンドシーケンスを使用すると cscope の初期処理の終了を待たずに作業を続けることができます。

– d オプションは、cscope にシンボル相互参照表を更新させません。このオプションを指定すると、ソースファイルの変更が検査されないため時間の節約になります。変更されていないと確信できる場合にのみ使用してください。


注 –

-d オプションの使用には注意が必要です。ソースファイルが変更されていることに気付かずに – d オプションを使用すると、cscope は古いシンボル相互参照表を使用して照会に応じてしまいます。


ほかのコマンド行オプションについては、cscope(1) のマニュアルページを参照してください。