xstr(1) FreeBSD 一般コマンドマニュアル

xstr

前のページ 上に戻る 次のページ

xstr




解説

     xstr は、巨大なプログラムの文字列部分を保持するデータベースファイル
     strings をメンテナンスします。プログラム中の文字列は共通文字列エリアへの
     参照に置換されます。これにより、共有文字列定数が実現できます。これは特に
     read-only な文字列に有効です。

     オプションは、以下のものが利用可能です:

     -       xstr は標準入力からソースを読み込みます。

     -c      xstr は、指定された C 言語ソースまたは標準入力から文字列を抽出
             し、文字列を (&xstr[number]) 形式に変換し、適当な number を割り当
             てます。適切な xstr の宣言がファイルの先頭に挿入されます。変換し
             た C 言語ソースはファイル x.c に出力されます。文字列は文字列デー
             タベースファイル strings に格納されます。すでに同じ文字列がデータ
             ベース中に存在している場合、および既に存在する文字列のサフィック
             スの場合、データベースは変更されません。

     -v      冗長モード。

     プログラムの全ソースファイルをコンパイルした後、共通文字列領域を宣言する
     ファイル xs.c を、以下のようにコマンドを実行して作成できます。

           xstr

     このあとでファイル xs.c をコンパイルし、他のオブジェクトファイルとリンク
     します。 xs.c 内の文字列配列を read-only にできるならば、必要な領域とス
     ワップによるオーバヘッドを少なくすることができます。

     xstr はまた、1 つのファイルにのみ適用することもできます。次のコマンド

           xstr name

     によって、同じディレクトリ内のファイル strings を変更したり、参照すること
     なく、 x.cxs.c を作成します。

     C 言語プリプロセッサのあとで xstr を実行するのが便利な場合、あるいはそう
     することが必要な場合があります。マクロによって文字列が生成される時などが
     そうです。このときは以下のようなコマンド列を実行します。

           cc -E name.c | xstr -c -
           cc -c x.c
           mv x.o name.o

     xstr は新しい文字列を追加する必要がないかぎり、ファイル strings を更新し
     ません。このため、 make(1) が不必要に xs.o を作り直すことをなくすことがで
     きます。


関連ファイル

     strings     文字列データベース
     x.c         変換後のソースファイル

FreeBSD 4.4                    December 30, 1993                   FreeBSD 4.4

ABELNET VPSサービス