プログラミングユーティリティ

はじめに

本書『プログラミングユーティリティ』には、SunOS システムで使用可能な特別な組み込み型プログラミングツールに関する開発者向けの情報が記載されています。

対象読者

本書は、Solaris 2.x システムを使用するアプリケーションプログラマを対象としています。

お読みになる前に

このマニュアルは、Solaris 2.x オペレーティングシステム、プログラミング、ネットワーキングについて読者が理解していることを前提としています。

このマニュアルの構成

このマニュアルは、以下に示す章で構成されており、プログラミングを支援する各ツールについて説明します。

第 1 章「TNF ユーティリティによるプログラム実行のトレース」

TNF は、プログラムの実行に関するトレース情報を収集します。Trace Implementation Format を使用することにより、プローブポイントをソースコードに挿入して、分析用のデータを収集できます。

第 2 章「字句解析」

lex は、テキストの簡単な字句解析に使用されるプログラムを生成します。この lex は、さまざまな文字列を識別することによって問題を解決するツールです。

第 3 章「yacc - コンパイラコンパイラ」

yacc は、言語パーサーを生成します。この yacc は、コンピュータ入力をある特定の構造にして、それを入力ストリームを検査する C 言語の関数に変換します。

第 4 章「make ユーティリティ」

make は、関連するプログラムとファイルの保守、更新、再生成を自動的に行います。

第 5 章「SCCS ソースコード管理システム」

SCCS (Source Code Control System) によって、共有ファイルに対するアクセスを制御したり、プロジェクトに加えられた変更の履歴を保存することができます。

第 6 章「m4 マクロプロセッサ」

m4 マクロ言語プロセッサは、ライブラリアーカイブを作成し、ファイルの追加や抽出を行います。

付録 A 「System V の make

System V make は、旧バーションの make と互換性のあるバージョンの make(1) です。

以下、その他の重要なツールについて簡単に説明します。これらのツールについての詳細は、該当するマニュアルページを参照してください。

ar(1)

移植性のあるライブラリまたはアーカイブの作成と保守を行います。

cpp(1)

C 言語の命令を前処理します。

dis(1)

COFF のオブジェクトコードを逆アセンブルします。

dump(1)

オブジェクトファイルの選択部分をダンプ (表示) します。

lorder(1)

オブジェクトのライブラリまたはアーカイブの順序関係を検索します。

mcs(1)

ELF オブジェクトファイルのコメント部を操作します。

nm(1)

オブジェクトファイルの名前一覧を出力します。

size(1)

オブジェクトファイルのサイズを表示します。

strip(1)

オブジェクトファイルからシンボルと再配置ビットを削除します。

tsort(1)

トポロジによるソートを実行します。

unifdef(1)

C 言語のソースから ifdef 行を展開して削除します。

関連文書

マニュアルの注文方法

SunDocsTM プログラムでは、米国 Sun MicrosystemsTM, Inc. (以降、SunTM とします) の 250 冊以上のマニュアルを扱っています。このプログラムを利用して、マニュアルのセットまたは個々のマニュアルをご注文いただけます。

マニュアルのリストと注文方法については、米国 SunExpressTM, Inc. のインターネットホームページ http://www.sun.com/sunexpress にあるカタログセクションを参照してください。

表記上の規則

このマニュアルでは、次のような字体や記号を特別な意味を持つものとして使用します。

表 P-1 表記上の規則

字体または記号 

意味 

例 

AaBbCc123

コマンド名、ファイル名、およびディレクトリ名を示します。または、画面上のコンピュータ出力を示します。 

.login ファイルを編集します。

ls -a を使用してすべてのファイルを表示します。

system%

AaBbCc123

ユーザーが入力する文字を、画面上のコンピュータ出力とは区別して示します。 

system% su

password:

AaBbCc123

変数を示します。実際に使用する特定の名前または値で置き換えます。 

ファイルを削除するには、rm filename と入力します。

『 』 

参照する書名を示します。 

『コードマネージャ・ユーザーズガイド』を参照してください。 

「 」 

参照する章や節を示します。また、ボタンやメニューなど、強調する単語を囲む場合にも使用します。 

第 5 章「衝突の回避」を参照してください。 

この操作ができるのは、「スーパーユーザー」だけです。 

枠で囲まれたコード例で、テキストがページ行幅を越える場合、バックスラッシュは継続を示します。 

sun% grep `^#define ¥
  XV_VERSION_STRING'

ただし AnswerBook2TM では、ユーザーが入力する文字と画面上のコンピュータ出力は区別して表示されません。

コード例は次のように表示されます。

[ ] は省略可能な項目を示します。上記の場合、filename は省略してもよいことを示します。

| は区切り文字 (セパレータ) です。この文字で分割されている引数のうち 1 つだけを指定します。

キーボードのキー名は英文で、頭文字を大文字で示します (例: Shift キーを押します)。ただし、キーボードによっては Enter キーが Return キーの動作をします。

ダッシュ (-) は 2 つのキーを同時に押すことを示します。たとえば、Ctrl-DControl キーを押したまま D キーを押すことを意味します。

一般規則