まえがき

本書は,C プログラミング言語を中心に,HP Tru64 UNIX オペレーティング・システムのプログラミング環境について説明します。 C 以外のプログラミング言語については,システムの設定時あるいは変更時に選択することにより利用することができます。

本書の対象読者

本書は,Tru64 UNIX オペレーティング・システムを使用し,サポートされた言語でプログラムの作成および管理を行う,すべてのプログラマを対象読者にしています。

追加および変更された機能

本書は,前回のリリースの後に次のような追加と変更が行われています。

本書の構成

本書の構成は次のとおりです。

第 1 章 プログラム開発のフェーズ,およびそれらのフェーズで使用されるプログラミング・ツールについて説明します。
第 2 章 コンパイラ・システムを構成するツールおよびその使用方法について説明します。 コンパイラ・コマンド,プリプロセッサ,コンパイラ・オプション,多言語プログラム,およびアーカイバについて説明します。
第 3 章 C コンパイラでサポートされている処理系固有のプラグマについて説明します。
第 4 章 シェアード・ライブラリの用途,作成方法,および保守,ならびにシンボルの解決方法について説明します。
第 5 章 dbx デバッガの使用方法について説明します。 また,dbx コマンド,モニタでの動作,ブレークポイントの設定,機械語コードのデバッグについても説明します。
第 6 章 コーディング・エラーのないプログラムを作成するための lint コマンドの使用方法について説明します。
第 7 章 Third Degree ツールを使用して,アプリケーション・プログラムのメモリ・アクセス・チェックおよびリーク検出を行う方法について説明します。
第 8 章 作成したコードのプロファイルを行うためのさまざまなツールや技術の使用方法について説明し,プログラムのどの部分の処理に最も時間を費やしているかを調べることができるようにします。 また,プロファイル・データを C コンパイラにフィードバックして,コードの自動最適化を提供する方法についても説明します。
第 9 章 パッケージされている Atom ツールを使用して,プロファイル・データの取得やキャッシュ使用分析の実行など,アプリケーションに対してさまざまな目的で計測を行う方法について説明します。 また,この章では,カスタム Atom ツールの設計および作成方法についても説明します。
第 10 章 最適化ツールおよびポストリンク最適化ツール spike によるプログラムの最適化について説明します。
第 11 章 C コンパイラの機能を利用した構造化例外ハンドラおよび終了ハンドラの作成方法について説明します。
第 12 章 マルチスレッド・プログラムの開発について説明します。
第 13 章 OpenMP 並行処理インタフェースを使用する際の考慮事項について説明します。
第 14 章 Event Manager ユーティリティを使用して,イベント情報を通知したり受信したりする方法について説明します。
付録 A Tru64 UNIX システムにおける 32 ビット・ポインタの使用方法について説明します。
付録 B System V 実行環境における C 言語プログラムのソース・コードの互換性について説明します。
付録 C 動的に構成可能なカーネル・サブシステムの作成方法について説明します。
付録 D OpenMP の前に実装されていた古い形式の並行処理プラグマについて説明します。
付録 E デバイス特殊ファイルの古い形式の名前と新しい形式の名前の変換処理を行うルーチンについて説明します。
付録 F cc コマンドの -om および -cord オプションを用いてプログラムを最適化する方法について説明します。

関連資料

プログラム開発に関する情報については,本書の他に次のマニュアルを参照してください。

プログラミング (全般):

Calling Standard for Alpha Systems

Assembly Language Programmer's Guide

プログラミング・サポートツール・ガイド

ネットワーク・プログラミング・ガイド

Compaq Portable Mathematics Library

国際化ソフトウェア・プログラミング・ガイド

Kernel Debugging

Ladebug Debugger Manual

Writing Kernel Modules

Alpha Architecture Reference Manual』 第 2 版 (Butterworth-Hinemann Press, ISBN:1-55558-145-5)

プログラミング (リアルタイム):

Guide to Realtime Programming

プログラミング (STREAMS):

Programmer's Guide: STREAMS

プログラミング (マルチスレッド・アプリケーション):

Guide to the POSIX Threads Library

OpenMP C and C++ Application Programming Interface 仕様は,インターネットの http://www.openmp.org/specs/ にあります。

一般ユーザ情報:

リリース・ノート

本書で使用する表記法

本書では,次の表記規約を使用します。

%
$

パーセント記号は,C シェルのシステム・プロンプトを表します。ドル記号は, Bourne シェル,Korn シェル,および POSIX シェルの場合の システム・プロンプトを表します。

#

番号記号は root としてログインした場合のシステム・プロンプトを表します。

% cat

対話式の例における太字(ボールド体)は,ユーザが入力する文字を示します。

file

イタリック体 (斜体) は,変数値,プレースホルダ,および関数の引数名を示します。

[ | ]
{ | }

構文定義では,大カッコはオプションの項目を示し,中カッコは必須項目を示します。 大カッコまたは中カッコの中の項目を縦線で区切っている場合は, そこに併記されている項目の中から1つの項目を選択することを示します。

colored text

構文定義では,リテラル要素(コマンド名など文字通り入力する要素)は緑色で表示され,変数値,数式/論理式記号,関数の引数名は赤色で表示されます。 構文説明以外の場所では,色付きのテキストは使用しません。

. . .

構文定義では,水平の反復記号は,前の項目を1回以上繰り返して使用できることを示します。

cat(1)

リファレンス・ページの参照には,該当するセクション番号をカッコ内に示します。 たとえば, cat(1) は,cat コマンドについての情報が, リファレンス・ページのセクション1に記載されていることを示します。

[Return]

四角で囲まれたキー名はユーザがそのキーを押すことを示します。

[Ctrl/x]

この記号は,スラッシュの前に指定されているキーを押しながら, スラッシュの後のキーまたはマウス・ボタンを押すことを示します。 例中では,このようなキーの組み合わせは, 四角あるいは大カッコで囲まれて示されます(たとえば,[Ctrl/C] )。