Oracle® Developer Studio 12.5: C++ ユーザーズガイド

印刷ビューの終了

更新: 2016 年 7 月
 
 

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

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

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

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

11.4.1 iostream ライブラリ

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

  • 従来の iostream。この用語は、C++ 4.0、4.0.1、4.1、および 4.2 コンパイラに付属する iostream ライブラリを表し、以前は cfront ベースの 3.0.1 コンパイラに付属していました。このライブラリに標準はありません。これは libiostream で使用できます。

  • 標準の iostream。これは、ユーザーが使用する標準 C++ ライブラリ (libCstdlibstlportlibstdcxx、または g++ 実行時ライブラリ) のバージョンの一部です。標準バージョンの iostream は、従来の 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 という実行可能なプログラムを生成します。プログラムは -compat=5 モードでコンパイルされます。標準の iostream ライブラリを含む libCstd がデフォルトでリンクされます。

example% CC -compat=5 prog2.cc -o prog2

11.4.1.1 従来の iostream についての注意

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

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

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

表 24  C++ ライブラリにリンクするためのコンパイラオプション
ライブラリ
オプション
従来の iostream
-library=iostream
ガベージコレクション
-library=gc
STLport Version 4
-library=stlport4
STLport Version 4 デバッグ
-library=stlport4_dbg
Apache stdcxx Version 4
-library=stdcxx4
Sun Performance Library
-library=sunperf

注 -  -std=c++03-std=c++11、および -std=c++14 モードでは、gc および sunperf ライブラリのみ追加できます。C++ 標準ライブラリの異なるバージョンのオプションはありません。