JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.3: C++ ユーザーズガイド     Oracle Solaris Studio 12.3 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I C++ コンパイラ

1.  C++ コンパイラの紹介

2.  C++ コンパイラの使用方法

3.  C++ コンパイラオプションの使い方

パート II C++ プログラムの作成

4.  言語拡張

5.  プログラムの編成

6.  テンプレートの作成と使用

7.  テンプレートのコンパイル

8.  例外処理

9.  プログラムパフォーマンスの改善

10.  マルチスレッドプログラムの構築

パート III ライブラリ

11.  ライブラリの使用

11.1 C ライブラリ

11.2 C++ コンパイラ付属のライブラリ

11.2.1 C++ ライブラリの説明

11.2.2 C++ ライブラリのマニュアルページへのアクセス

11.2.3 デフォルトの C++ ライブラリ

11.3 関連するライブラリオプション

11.4 クラスライブラリの使用

11.4.1 iostream ライブラリ

11.4.1.1 従来の iostream およびレガシー RogueWave ツールについての注意

11.4.2 C++ ライブラリのリンク

11.5 標準ライブラリの静的リンク

11.6 共有ライブラリの使用

11.7 C++ 標準ライブラリの置き換え

11.7.1 置き換え可能な対象

11.7.2 置き換え不可能な対象

11.7.3 代替ライブラリのインストール

11.7.4 代替ライブラリの使用

11.7.5 標準ヘッダーの実装

11.7.5.1 標準 C++ ヘッダーの置き換え

11.7.5.2 標準 C ヘッダーの置き換え

12.  C++ 標準ライブラリの使用

13.  従来の iostream ライブラリの使用

14.  ライブラリの構築

パート IV 付録

A.  C++ コンパイラオプション

B.  プラグマ

用語集

索引

11.4 クラスライブラリの使用

一般に、クラスライブラリを使用するには 2 つの手順が必要です。

  1. ソースコードに適切なヘッダーをインクルードする。

  2. プログラムをオブジェクトライブラリとリンクする。

11.4.1 iostream ライブラリ

C++ コンパイラには、2 通りの iostream が実装されています。

すでに C++ のソースがある場合、そのコードは従来の iostream を使用しており、次の例のような形式になっていると思われます。

// file prog1.cc
#include <iostream.h>

int main() {
    cout << "Hello, world!" << endl;
    return 0;
}

次の例では、標準 iostream が使用されています。

// file prog2.cc
#include <iostream>

int main() {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

次のコマンドは、prog2.cc をコンパイル、リンクして、prog2 という実行可能なプログラムを生成します。プログラムは標準モードでコンパイルされます。このモードでは、標準の iostream ライブラリを含む libCstd がデフォルトでリンクされます。

example% CC prog2.cc -o prog2

11.4.1.1 従来の iostream およびレガシー RogueWave ツールについての注意

いわゆる「従来型の」iostream は、iostream の 1986 オリジナルバージョンで、C++ 標準で置き換えられました。これは -library=rwtools7,iostream オプションで選択されます。「従来型の」iostream の実装はどれも同じでなく、廃止される場合は別として、これを使用するコードには移植性がありません。このライブラリとオプションは、将来の Oracle Solaris Studio リリースで中止されます。

レガシー Sun Studio および Oracle Studio で提供されている RW Tools.h++ ツールセットは 1990 年代に遡り、それ以来大きく更新されていません。その time および date クラスには、サマータイムに関する修正不能な重大な問題があります。(このツールセットの機能は、C++ 標準と、BOOST などのオープンソースライブラリで現在使用できます。)RW Tools.h++ は -library=rwtools7 または -library=rwtools7_std オプションによって選択され、将来の Oracle Solaris Studio リリースで中止されます。

11.4.2 C++ ライブラリのリンク

次の表に、C++ ライブラリのリンクに関するコンパイラオプションを示します。詳細は、「A.2.49 -library=l[ ,l...]」を参照してください。

表 11-2 C++ ライブラリにリンクするためのコンパイラオプション

ライブラリ
オプション
従来の iostream
-library=iostream
Tools.h++ Version 7
-library=rwtools7,iostream

-library=rwtools7_std

Tools.h++ Version 7 デバッグ
-library=rwtools7_dbg,iostream

-library=rwtools7_std_dbg

ガベージコレクション
-library=gc
STLport Version 4
-library=stlport4
STLport Version 4 デバッグ
-library=stlport4_dbg
Apache stdcxx Version 4
-library=stdcxx4
Sun Performance Library
-library=sunperf