Documentation Home
> プログラミングユーティリティ
プログラミングユーティリティ
Book Information
はじめに
第 1 章 TNF ユーティリティによるプログラム実行のトレース
ユーザーの分類
既存のプローブポイントを使用
プログラムをデバッグ
ライブラリへプローブポイントを挿入
カーネル実行をトレース
TNF ユーティリティの使い方
プローブポイントの挿入
prex の起動
prex によるプログラムの起動
実行中のプロセスへの prex の接続
libtnfprobe とのリンク
prex の停止と再開
prex のコマンド行オプション
prex の実行
prex コマンドの構成要素
属性
プローブの照合構文
予約語
トレース、プローブポイント、デバッグ関数の設定状態
スクリプトによる prex の制御
C プログラムのサンプル
prex セッションのサンプル
トレースファイルの読み取り
読み取り可能な形式へのバイナリファイルの変換
tnfdump ファイルの読み取り
カーネルのトレース
カーネルのトレース制御 (prex)
バッファーの割り当て
プローブの選択と有効化
プロセスのフィルタリング
トレースの有効と無効
カーネルのトレースのリセット
カーネルトレースデータの抽出 (tnfxtract)
カーネルトレースデータの検証 (tnfdump)
使用可能なカーネルプローブ (tnf_probes)
スレッドプローブ
システムコールプローブ
VM プローブ
ページフォルト
ページ入出力
ページデーモン
スワッパー
ローカル入出力プローブ
その他のプローブ
カーネルをトレースするためのシェルスクリプト
上級者向きのトピック
プローブポイントの挿入
TNF_PROBE マクロの使い方
TNF_PROBE_1 〜 TNF_PROBE_5
例 − 関数の所要時間の測定
プローブポイントのユーザー定義型
例 − TNF 型の定義
パフォーマンスについて
/proc
dlopen()、dlclose()、履歴
シグナル
イベント書き込み操作の障害
ターゲットによる fork() または exec() の実行
第 2 章 字句解析
国際化
字句アナライザプログラムの生成
lex ソースの作成
lex 規則の基礎
正規表現
演算子
アクション
lex の高度な機能
特殊な機能
lex ルーチン
定義
開始条件
ユーザールーチン
C++ 符号化シンボル
lex と yacc の併用
オートマトン
ソース形式のまとめ
第 3 章 yacc - コンパイラコンパイラ
国際化
基本仕様
アクション
字句解析
パーサーの操作
あいまいさと衝突
優先度
エラー処理
yacc 環境
仕様の準備に関するヒント
入力スタイル
左再帰
C++ 符号化シンボル
字句連結
予約語
高度なトピック
アクションにおける error と accept のシミュレーション
囲み規則の中の値へのアクセス
任意値型のサポート
yacc 入力構文
例
簡単な例
高度な例
第 4 章 make ユーティリティ
依存関係の検査 : make とシェルスクリプト
簡単なメークファイルの記述
暗黙の規則の基本的な用途
依存関係の処理
空の (NULL) 規則
特殊ターゲット
不明なターゲット
重複するターゲット
make の予約語
コマンドを表示せずに実行する
SCCS ファイルの自動取り出し
SCCS ファイル取り出しの抑止
パラメータの引き渡し : make の簡単なマクロ
.KEEP_STATE とコマンドの依存関係の検査
選択した行に対してコマンドの依存関係の検査を強制または抑止する
状態ファイル
.KEEP_STATE と隠れた依存関係
.INIT と隠れた依存関係
make の実行に関する情報を表示する
make を使用してプログラムをコンパイルする
簡単なメークファイルの例
make の定義済みマクロを使用する
暗黙の規則を使用してメークファイルを簡素化する : 接尾辞の規則
明示的なターゲットのエントリと暗黙の規則の使用について
暗黙の規則と動的なマクロ
動的なマクロの修飾子
動的なマクロと依存関係リスト : 遅延マクロ参照
依存関係リストの読み取り
規則の評価
接尾辞規則の橋渡し
接尾辞の規則を追加する
パターンマッチングの規則: 接尾辞の規則の代替
make のデフォルトの接尾辞の規則と定義済みマクロ
オブジェクトライブラリの構築
ライブラリ、メンバー、シンボル
ライブラリのメンバーおよび依存関係の検査
ライブラリと動的マクロ $%
.PRECIOUS : 割り込みによる削除からライブラリを保護する
make を使用してライブラリおよびプログラムを管理する
マクロについて
組み込みマクロ参照
マクロ参照での接尾辞の置換
make と lint を使用する
システムが提供するライブラリとのリンク
デバッグ用およびプロファイル用にプログラムをコンパイルする
条件付きマクロ定義
デバッグ用およびプロファイル用のプログラムをコンパイルする
複数のプログラムおよびライブラリの形式を管理する
パターン置換マクロ参照
形式が複数あるプログラム用のメークファイル
複数の形式があるライブラリ用のメークファイル
ヘッダーファイルのディレクトリを管理する
ユーザー定義のライブラリをコンパイルおよびリンクする
入れ子にした make コマンド
入れ子にした make コマンドを強制的に実行する
MAKEFLAGS マクロ
入れ子にした make コマンドにパラメータを渡す
その他のソースファイルをコンパイルする
アセンブリ言語のルーチンを使用した C プログラムのコンパイルおよびリンク
lex および yacc のソースをコンパイルする
+ 記号を使用してターゲットグループを指定する
make および SCCS を使用してシェルスクリプトを管理する
make を使用してテストを実行する
シェル変数へのエスケープ参照
シェルコマンドの置換
コマンド置換マクロ参照
コマンド置換マクロ代入
ソフトウェアプロジェクトの管理
プロジェクトを整理して管理を簡単にする
メークファイルをインクルードする
完成したプログラムおよびライブラリをインストールする
プロジェクト全体の構築
再帰的なメークファイルを使用してディレクトリ階層を管理する
再帰的なターゲットの管理
大規模なライブラリを分割して管理する
隠れた依存関係を make にレポートする
make の拡張機能のまとめ
デフォルトのメークファイル
状態ファイル .make.state
隠れた依存関係の検査
コマンド依存関係の検査
SCCS ファイルの自動取り出し
チルド規則について
パターンマッチングの規則
パターン置換マクロ参照
新しいオプション
C++ および Modula-2 のサポート
定義済みマクロの命名規約
新しい特殊ターゲット
lint の新しい暗黙の規則
マクロ処理の変更
マクロ : 定義、置換、接尾辞置換
新しい追加演算子
条件付きマクロ定義
条件付きマクロのパターン
接尾辞の置換の優先度
入れ子にしたマクロ参照
クロスコンパイルマクロ
マクロでのシェルコマンド出力
ar ライブラリのサポートについて
ターゲットグループ
旧バージョンとの非互換性
-d オプション
動的なマクロ
チルド規則
ターゲット名
第 5 章 SCCS ソースコード管理システム
sccs コマンド
sccs create コマンド
基本的な sccs サブコマンド
デルタとバージョン
SID
ID キーワード
sccs サブコマンド
ファイルのチェックインおよびチェックアウト
編集用のファイルをチェックアウトする : sccs edit
新しいバージョンをチェックインする : sccs delta
バージョンを取り出す : sccs get
保留中の変更を確認する : sccs diffs
保留中の変更を削除する : sccs unedit
delta と get を組み合わせて実行する : sccs delget
delta と edit を組み合わせて実行する : sccs deledit
SID を指定してバージョンを取り出す : sccs get -r
日時を指定してバージョンを取り出す : sccs get -c
書き込み可能なコピーを修復する : sccs get -k -G
ID キーワードを使用してバージョン固有情報を組み込む
さまざまな情報の確認
取り出されたバージョンを確認する : what コマンド
最新バージョンを確認する : sccs get -g
ファイルをチェックアウトしたユーザーを確認する : sccs info
デルタのコメントを表示する : sccs prt
デルタのコメントを追加する : sccs cdc
チェックインしたバージョンを比較する : sccs sccsdiff
全履歴を表示する : sccs get -m -p
レポートを作成する : sccs prs -d
確定した変更を削除する
デルタを置き換える : sccs fix
デルタを削除する : sccs rmdel
以前のバージョンに戻す
取り出したバージョンからデルタを削除する
バージョンを結合する : sccs comb
バイナリファイルのバージョン管理
ソースのディレクトリを管理する
ソースディレクトリの複製
SCCS と make
ファイルの SID の整合性を保つ
新しいリリースを作成する
SCCS が使用する一時ファイル
分岐
分岐を使用する
分岐デルタの作成
分岐デルタからバージョンを取り出す
分岐をメインの幹に統合する
SCCS ファイルの管理
エラーメッセージを解釈する : sccs help
履歴ファイルのデフォルト値を変更する : sccs admin
履歴ファイルの妥当性検査
履歴ファイルの復元
参照用の一覧表
第 6 章 m4 マクロプロセッサ
概要
m4 マクロ
マクロの定義
引用符で囲む
引数
演算用の組み込みマクロ
ファイルの取り込み
出力の分割
システムコマンド
条件付きテスト
文字列の操作
出力
組み込み m4 マクロの一覧
付録 A System V の make
基本的な機能
記述ファイルと置換
コメント
継続行
マクロ定義
一般的な形式
依存関係について
実行可能なコマンド
$*、$@、$< の拡張
出力の変換
再帰的なメークファイル
接尾辞および変換の規則
暗黙の規則
アーカイブライブラリ
ソースコード管理システム (SCCS) ファイル名
空接尾辞
組み込みファイル
SCCS メークファイル
動的な依存関係のパラメータ
コマンドの使用法
make コマンド
環境変数
推奨および警告
内部規則
特別な規則
接尾辞が 1 つの規則
接尾辞が 2 つの規則
索引
数字・記号
A
C
D
E
F
G
H
I
L
M
N
P
R
S
T
U
V
W
X
Y
Z
い
え
お
か
き
く
け
こ
さ
し
す
せ
そ
た
ち
て
と
は
ひ
ふ
へ
ほ
ま
め
ゆ
よ
ら
り
れ
ろ
© 2010, Oracle Corporation and/or its affiliates