Oracle Solaris Studio 12.2: C ユーザーガイド

8.2.5 コマンド行オプション

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


% cscope

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


% cscope *.[chly]

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


% cscope file1.c file2.c file3.h

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


% cscope– s dir1,dir2,dir3

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


% cscope– i file

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


% find .–  name ’*.[chly]’– print | sort > file
% cscope– i file

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

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

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


% cscope– p2

cscope によって検索結果のリストに表示されるパス名が、common/file1.ccommon/file2.c のように表示されます。

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


% echo ’cscope -b’ | batch

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


% cscope

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

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


注 –

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


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