このマニュアルでは、SunTM Studio 12 C++ コンパイラの使用方法を説明し、コマンド行コンパイラオプションに関する詳しい情報を提供します。このマニュアルは C++ に関する実用的な知識と SolarisTM オペレーティングシステムおよび UNIX® コマンドに関する一般的な知識を持つプログラマーを対象にしています。
このマニュアルで取り上げるトピックは次のとおりです。
C++ コンパイラ: 第 1 章「C++ コンパイラの紹介」では準拠規格や新機能など、コンパイラに関する初歩的な内容について説明します。第 2 章「C++ コンパイラの使用方法」では、コンパイラの使用方法を説明します。第 3 章「C++ コンパイラオプションの使い方」では、コンパイラのコマンド行オプションの使用方法を説明します。
C++ プログラムの作成方法: 第 4 章「言語拡張」では、ほかの C++ コンパイラによって一般に受け入れられる非標準コードのコンパイル方法を説明します。第 5 章「プログラムの編成」では、ヘッダーファイ ルやテンプレート定義の設定および構成について提案します。第 6 章「テンプレートの作成と使用」では、テンプレートの作成方法や使用方法を説明します。第 7 章「テンプレートのコンパイル」では、テンプレートをコンパイルする際の各種オプションについて説明します。例外処理については第 8 章「例外処理」、キャスト演算に関しては第 9 章「キャスト演算」で説明します。第 10 章「プログラムパフォーマンスの改善」では、C++ コンパイラに大きな影響を与えるパフォーマンス手法について説明します。第 11 章「マルチスレッドプログラムの構築」では、マルチスレッド化プ ログラムの構築に関する情報を提供します。
ライブラリ: 第 12 章「ライブラリの使用」では、コンパイラに組み込まれているライブラリの使用方法を説明します。C++ 標準ライブラリについては第 13 章「C++ 標準ライブラリの使用」、典型的な iostream ライブラリ (互換モードの場合) については 第 14 章「従来の iostream ライブラリの使用」、および複合演算ライブラリ (互換モードの場合) については 第 15 章「複素数演算ライブラリの使用」 で説明します。第 16 章「ライブラリの構築」ではライブラリの構築に関する情報を提供します。
付録: 付録 A 「C++ コンパイラオプション」 ですべての C++ コンパイラオプションをアルファベット順に示し、付録 B 「プラグマ」 で C++ コンパイラプラグマを示します。
字体または記号 |
意味 |
例 |
|
---|---|---|---|
AaBbCc123 |
コマンド名、ファイル名、ディレクトリ名、画面上のコンピュータ出力、コード例を示します。 |
.login ファイルを編集します。 ls -a を使用してすべてのファイルを表示します。 system% |
|
AaBbCc123 |
ユーザーが入力する文字を、画面上のコンピュータ出力と区別して示します。 |
system% su password: |
|
AaBbCc123 |
変数を示します。実際に使用する特定の名前または値で置き換えます。 |
ファイルを削除するには、rm filename と入力します。 |
|
『 』 |
参照する書名を示します。 |
『コードマネージャ・ユーザーズガイド』を参照してください。 |
|
「 」 |
参照する章、節、ボタンやメニュー名、強調する単語を示します。 |
第 5 章「衝突の回避」を参照してください。 この操作ができるのは、「スーパーユーザー」だけです。 |
|
\ |
枠で囲まれたコード例で、テキストがページ行幅を超える場合に、継続を示します。 |
|
表 P–2 コードについて
コードの記号 |
意味 |
記法 |
コード例 |
---|---|---|---|
[ ] |
角括弧には、オプションの引数が含まれます。 |
O[n] |
-O4, -O |
{ } |
中括弧には、必須オプションの選択肢が含まれます。 |
d{y|n} |
-dy |
| |
「パイプ」または「バー」と呼ばれる記号は、その中から 1 つだけを選択可能な複数の引数を区切ります。 |
B{dynamic|static} |
-Bstatic |
: |
コロンは、コンマ同様に複数の引数を区切るために使用されることがあります。 |
Rdir[:dir] |
-R/local/libs:/U/a |
… |
省略記号は、連続するものの一部が省略されていることを示します。 |
xinline=f1[,…fn] |
-xinline=alpha,dos |
シェル |
プロンプト |
---|---|
C シェル |
machine-name% |
C シェルのスーパーユーザー |
machine-name# |
Bourne シェル、 Korn シェル、および GNU Bourne-Again シェル |
$ |
Bourne シェル、Korn シェル、および GNU Bourne-Again シェルのスーパーユーザー |
# |
この Sun Studio のリリースは、SPARC® および x86 ファミリ (UltraSPARC®、SPARC64、AMD64、Pentium、Xeon EM64T) プロセッサアーキテクチャーを使用するシステムをサポートしています。サポートされるシステムの、Solaris オペレーティングシステムのバージョンごとの情報については、http://www.sun.com/bigadmin/hcl にあるハードウェアの互換性に関するリストで参照することができます。ここには、すべてのプラットフォームごとの実装の違いについて説明されています。
このドキュメントでは、x86 関連の用語は次のものを指します。
「x86」は、64 ビットおよび 32 ビットの、x86 と互換性のある製品を指します。
「x64」は、AMD64 または EM64T システムで、特定の 64 ビット情報を指します。
「32 ビット x86」は、x86 ベースシステムで特定の 32 ビット情報を指します。
サポートされるシステムについては、ハードウェアの互換性に関するリストを参照してください。
マニュアルには、次の場所からアクセスできます。
製品マニュアルは、ご使用のローカルシステムまたはネットワークにこのソフトウェアとともにインストールされるマニュアルの索引からアクセスできます。Solaris プラットフォームの場合は、 file:/opt/SUNWspro/docs/ja/index.html、Linux プラットフォームの場合は、file:/opt/sun/sunstudio12/docs/ja/index.html です。
製品ソフトウェアが Solaris プラットフォームで /opt、Linux プラットフォームで /opt/sun 以外のディレクトリにインストールされている場合は、システム管理者に実際のパスをお尋ねください。
マニュアルは、 docs.sun.comsm の Web サイトから入手できます。次に示すマニュアルは、Solaris プラットフォームにインストールされているソフトウェアからのみアクセスできます。
『Standard C++ Library Class Reference』
『標準 C++ ライブラリ・ユーザーズガイド』
『Tools.h++ クラスライブラリ・リファレンスマニュアル』
『Tools.h++ ユーザーズガイド』
docs.sun.com Web サイトからは、Solaris および Linux 両方のプラットフォーム用のリリースノートを入手できます。
IDE の全コンポーネントのオンラインヘルプは、IDE 内の「ヘルプ」メニューだけでなく、多くのウィンドウおよびダイアログにある「ヘルプ」ボタンを使用してアクセスできます。
インターネットの Web サイト (http://docs.sun.com) から、Sun のマニュアルを参照したり、印刷したり、購入したりすることができます。マニュアルが見つからない場合はローカルシステムまたはネットワークの製品とともにインストールされているマニュアルの索引を参照してください。
このマニュアルで紹介する Sun 以外の Web サイトが使用可能かどうかについては、Sun は責任を負いません。このようなサイトやリソース上、またはこれらを経由して利用できるコンテンツ、広告、製品、またはその他の資料についても、Sun は保証しておらず、法的責任を負いません。また、このようなサイトやリソース上、またはこれらを経由して利用できるコンテンツ、商品、サービスの使用や、それらへの依存に関連して発生した実際の損害や損失、またはその申し立てについても、Sun は一切の責任を負いません。
マニュアルは、技術的な補足をすることで、ご不自由なユーザーの方々にとって読みやすい形式のマニュアルを提供しております。アクセシブルなマニュアルは次の表に示す場所から参照することができます。製品ソフトウェアが /opt 以外のディレクトリにインストールされている場合は、システム管理者に実際のパスをお尋ねください。
マニュアルの種類 |
アクセシブルな形式と格納場所 |
マニュアル (Sun 以外のマニュアルは除く) |
形式: HTML場所: http://docs.sun.com |
他社製マニュアル:
|
形式: HTML場所: file:/opt/SUNWspro/docs/ja/index.html (Solaris プラットフォーム) のマニュアル索引 |
Readme |
形式: HTML場所: http://developers.sun.com/sunstudio/documentation/ss12 の Sun Developer Network ポータル |
マニュアルページ |
形式: HTML場所: file:/opt/SUNWspro/docs/ja/index.html (Solaris プラットフォーム) および file:/opt/sun/sunstudio12/docs/ja/index.html (Linux プラットフォーム) のマニュアル索引 |
オンラインヘルプ |
形式: HTML場所: IDE 内の「ヘルプ」メニューおよび「ヘルプ」ボタン |
リリースノート |
形式: HTML場所: http://docs.sun.com |
次の表は、file:/opt/SUNWspro/docs/ja/index.html および http://docs.sun.com から参照できる関連マニュアルの一覧です。製品ソフトウェアが /opt 以外のディレクトリにインストールされている場合は、システム管理者に実際のパスをお尋ねください。
マニュアルタイトル |
内容の説明 |
---|---|
C ユーザーズガイド |
すべてのコンパイラオプション、サポートされる ISO/IEC 9899:1999 (C99 と呼ばれる) 機能の説明、実装仕様 (プラグマ、宣言指定子など)、および lint コード検査プログラムの使用に関する詳細情報からなるリファレンスです。 |
C++ ユーザーズガイド |
C++ コンパイラの使用方法を説明し、コマンド行コンパイラオプション、プログラム編成、プラグマ、テンプレート、例外処理、キャスト (型変換) 演算子の使用、ライブラリの使用と構築に関する詳細情報について説明しています。 |
Fortran プログラミングガイド |
入出力、ライブラリ、パフォーマンス、デバッグ、並列処理などに関する、Solaris 環境における効果的な Fortran コードの書き方について説明しています。 |
Fortran ライブラリ・リファレンス |
Fortran ライブラリと組み込みルーチンについて詳しく説明しています。 |
OpenMP API ユーザーズガイド |
OpenMP 多重処理 API の概要と実装に関する詳細について説明しています。 |
数値計算ガイド |
浮動小数点演算における数値の正確性に関する問題について説明しています。 |
本書では、C++ ライブラリで使用できるマニュアルページの一覧を提供します。次の表には、それ以外の C++ に関連するマニュアルページを示します。
タイトル |
内容の説明 |
---|---|
c++filt |
ファイルを順番通りに読み、C++ の符号化された名前と思われるシンボルを複合化したあと、標準出力に書き出す |
dem |
指定した複数の C++ 名の複合化 |
fbe |
アセンブリ言語のソースファイルからオブジェクトファイルの作成 |
fpversion |
システムの CPU と FPU に関する情報の出力 |
gprof |
プログラムの実行プロファイルの作成 |
inline |
インライン手続きの呼び出しの展開 |
lex |
字句解析プログラムの生成 |
rpcgen |
RPC プロトコルを実装するため C/C++ コードの生成 |
sigfpe |
特定の SIGFPE コードに対するシグナル処理を許可 |
stdarg |
変更可能な引数のリストを処理 |
varargs |
変更可能な引数のリストを処理 |
version |
オブジェクトファイルまたはバイナリファイルのバージョン識別情報の表示 |
yacc |
文脈自由文法を、LALR(1) 構文解析アルゴリズムを実行する単純オートマトン用の一連の表に変換 |
次の表では、docs.sun.com の Web サイトで参照できる関連マニュアルについて説明します。
マニュアルコレクション |
マニュアルタイトル |
内容の説明 |
---|---|---|
Solaris Reference Manual Collection |
マニュアルページのセクションのタイトルを参照。 |
Solaris OS に関する情報を提供しています。 |
Solaris Software Developer Collection |
リンカーとライブラリ |
Solaris のリンクエディタと実行時リンカーの操作について説明しています。 |
Sun Developer Network の Sun Studio ポータル (http://developers.sun.com/prodtech/cc) にアクセスし、次のようなリソースを利用できます。リソースは頻繁に更新されます。
プログラミング技術と最適な演習に関する技術文書
プログラミングに関する簡単なヒントを集めた知識ベース
ソフトウェアのマニュアル、およびソフトウェアとともにインストールされる一連のマニュアル
サポートレベルに関する情報
ユーザーフォーラム
ダウンロード可能なサンプルコード
新しい技術の紹介
Sun Studio ポータルは、Sun Developer Network Web サイト (http://developers.sun.com) に多数ある開発者向け追加リソースの 1 つです。
C++ について書かれている書籍の一部を紹介します。
『プログラミング言語 C++』第 3 版、アジソン・ウェスレイ・パブリッシャーズ・ジャパン、Bjarne Stroustrup 著、1998 年
『C++ 標準ライブラリチュートリアル & リファレンス』アスキー、Nicolai Josuttis 著、2001 年
『Generic Programming - STL による汎用プログラミング』アスキー、Matthew Austern 著、2000 年
『Standard C++ IOStreams and Locales』Angelica Langer、Klaus Kreft 共著、Addison-Wesley、2000 年
『Thinking in C+』Volume 1, Second Edition、Bruce Eckel 著、Prentice Hall、1995 年
『注解 C++ リファレンス・マニュアル』トッパン、Margaret A. Ellis、Bjarne Stroustrup 共著、1990 年
『デザインパターン - オブジェクト指向における再利用のための』ソフトバンク、Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides 共著、1995 年
『C++ プライマー』第 3 版、トッパン、Stanley B. Lippman、Josee Lajoie 共著、1998 年
『Effective C++』改訂 2 版、アスキー、Scott Meyers 著、1998 年
『More Effective C++ - 最新 35 のプログラミング技法』アスキー、Scott Meyers 著、1998 年
製品についての技術的なご質問がございましたら、次のサイトからお問い合わせください (このマニュアルで回答されていないものに限ります)。
http://jp.sun.com/service/contacting/
米国 Sun Microsystems, Inc. では、マニュアルの向上に力を注いでおり、ユーザーのご意見やご提案をお待ちしております。コメントは下記よりお送りください。
http://www.sun.com/hwdocs/feedback
ご意見をお寄せいただく際には、電子メールの件名にマニュアルの Part No. を記載してください。たとえば、このマニュアルの Part No. は 820-1213-10 です。