ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3: C++ ユーザーズガイド Oracle Solaris Studio 12.3 Information Library (日本語) |
C++ コンパイラには、いくつかのライブラリが添付されています。
次の表に、C++ コンパイラに添付されるライブラリと、それらを使用できるモードを示します。
表 11-1 C++ コンパイラに添付されるライブラリ
|
注 - STLport、Rogue Wave、または Oracle Solaris Studio C++ ライブラリの構成マクロを再定義したり変更したりしないでください。ライブラリは C++ コンパイラとともに動作するよう構成および構築されています。libCstd と Tools.h++ は互いに働き合うように構成されているので、その構成マクロを変更すると、プログラムのコンパイルやリンクが行われなくなったり、プログラムが正しく実行されなくなったりします。
この節では、各 C++ ライブラリについて簡単に説明します。
libCrun – コンパイラがデフォルトの標準モード (-compat=5) で必要とする実行時サポートが含まれています。new と delete、例外、RTTI がサポートされます。
libCstd – C++ 標準ライブラリ。特に、このライブラリには iostream が含まれています。既存のソースで従来の iostream を使用している場合には、ソースを新しいインタフェースに合わせて修正しないと、標準 iostream を使用できません。詳細は、オンラインマニュアルの『Standard C++ Library Class Reference』を参照してください。
libiostream – -compat=5 で構築した従来の iostreams ライブラリ。既存のソースで従来の iostream を使用している場合は、libiostream を使用すれば、ソースを修正しなくてもこれらのソースを標準モード (-compat=5) でコンパイルできます。このライブラリを使用するには、-library=iostream を使用します。
注 - 標準ライブラリのほとんどの部分は、標準 iostream を使用することに依存しています。従来の iostream を同一のプログラム内で使用すると、問題が発生する可能性があります。
libstlport – C++ 標準ライブラリの STLport 実装。このライブラリを使用するには、デフォルトの libCstd の代わりにオプション -library=stlport4 を指定します。ただし、libstlport と libCstd の両方を同一プログラム内で使用することはできません。インポートしたライブラリを含むすべてを、どちらか一方のライブラリだけを使ってコンパイルしリンクする必要があります。
librwtool (Tools.h++): RogueWave の C++ 基礎クラスライブラリです。Version 7 が提供されています。このライブラリは廃止され、新しいコードでこのライブラリを使用することは非推奨です。RW Tools.h++ を使用していた、C++ 4.2 用に作成されたプログラムに対応する目的で、このライブラリは提供されています。
libgc – 展開モードまたはガベージコレクションモードで使用します。libgc ライブラリにリンクするだけで、プログラムのメモリーリークを自動的および永久的に修正できます。プログラムを libgc ライブラリとリンクする場合は、free や delete を呼び出さずに、それ以外は通常どおりにプログラムを記述できます。ガベージコレクションライブラリは、動的読み込みライブラリと依存関係があるため、プログラムをリンクするときは、-lgc および -ldl を指定します。
詳細については、gcFixPrematureFrees(3) および gcInitialize(3) のマニュアルページを参照してください。
libdemangle – C++ 符号化名を復号化するときに使用します。
この節で説明しているライブラリに関するマニュアルページは 1、3、3C++、および 3cc4 の各節にあります。
C++ ライブラリのマニュアルページにアクセスするには次のとおり入力してください。
example% man library-name
C++ ライブラリの Version 4.2 のマニュアルページにアクセスするには次のコマンドを入力してください。
example% man -s 3CC4 library-name
C++ ライブラリは実行可能プログラムをビルドするときにデフォルトでリンクされますが、共有ライブラリ (.so) をビルドするときにはリンクされません。共有ライブラリを構築するとき、必要なすべてのライブラリが明示的に指定される必要があります。-zdefs オプションによって、リンカーは必要なライブラリが省略されている場合に通知を出します。このオプションは実行可能プログラムをビルドする場合のデフォルトです。次のライブラリが CC ドライバによってデフォルトでリンクされます。
詳細は、「A.2.49 -library=l[ ,l...]」 を参照してください。