ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3: C++ ユーザーズガイド Oracle Solaris Studio 12.3 Information Library (日本語) |
一般に、クラスライブラリを使用するには 2 つの手順が必要です。
ソースコードに適切なヘッダーをインクルードする。
プログラムをオブジェクトライブラリとリンクする。
C++ コンパイラには、2 通りの iostream が実装されています。
従来の iostream。この用語は、C++ 4.0、4.0.1、4.1、および 4.2 コンパイラに付属する iostream ライブラリを表し、以前は cfront ベースの 3.0.1 コンパイラに付属していました。このライブラリに標準はありません。これは libiostream で使用できます。
標準の iostream。これは C++ 標準ライブラリ libCstd の一部で、標準モードでのみ使用できます。これは、従来の 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
いわゆる「従来型の」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 リリースで中止されます。
次の表に、C++ ライブラリのリンクに関するコンパイラオプションを示します。詳細は、「A.2.49 -library=l[ ,l...]」を参照してください。
表 11-2 C++ ライブラリにリンクするためのコンパイラオプション
|