このセクションでは、各 C++ ライブラリについて簡単に説明します。
libCrun – コンパイラが -compat=5 モードで必要とする実行時サポートが含まれています。new と delete、例外、RTTI がサポートされます。
libCstd – C++ 標準ライブラリ。特に、このライブラリには iostream が含まれています。このライブラリは Oracle Solaris の –compat=5 モードでデフォルトです。Oracle Linux では、–library=Cstd を使用して、このライブラリを取得します。既存のソースで従来の iostream を使用している場合には、ソースを新しいインタフェースに合わせて修正しないと、 標準 iostream を使用できません。
libiostream – -compat=5 で構築した従来の iostreams ライブラリ。従来の iostreams を使用する既存のソースがあり、それらのソースを –compat=5 でコンパイルする場合は、libiostream を使用すれば、ソースを修正しなくて済みます。このライブラリを使用するには、–library=iostream を使用します。
libstlport – C++ 標準ライブラリの STLport 実装。このライブラリを使用するには、デフォルトの libCstd の代わりにオプション -library=stlport4 を指定します。ただし、libstlport と libCstd の両方を同一プログラム内で使用することはできません。インポートしたライブラリを含むすべてを、どちらか一方のライブラリだけを使ってコンパイルしリンクする必要があります。
libstdcxx – C++ 標準ライブラリの Apache stdcxx 実装。このライブラリを使用するには、デフォルトの libCstd の代わりにオプション –library=stdcxx4 を指定します。ただし、libstdcxx と libCstd の両方を同一プログラム内で使用することはできません。インポートしたライブラリを含むすべてを、どちらか一方のライブラリだけを使ってコンパイルしリンクする必要があります。
libgc – 展開モードまたはガベージコレクションモードで使用します。libgc ライブラリにリンクするだけで、プログラムのメモリーリークを自動的および永久的に修正できます。プログラムを libgc ライブラリとリンクする場合は、free や delete を呼び出さずに、それ以外は通常どおりにプログラムを記述できます。ガベージコレクションライブラリは、動的読み込みライブラリと依存関係があるため、プログラムをリンクするときは、-lgc および -ldl を指定します。
詳細については、gcFixPrematureFrees(3) および gcInitialize(3) のマニュアルページを参照してください。
libdemangle – C++ 符号化名を復号化するときに使用します。
libstdc++ – -std=c++03、-std=c++11、および -std=c++14 モードで使用する、C++ 標準ライブラリの gcc 実装。
libgcc_s – libstdc++ で使用するコードの実行時サポートが含まれています。
libCrunG3 – -std=c++03、-std=c++11、および -std=c++14 モードでコンパイラが必要とする実行時サポートが含まれています。new と delete、例外、RTTI がサポートされます。
libstatomic – 不可分演算によって必要な実行時サポート機能が含まれています。ライブラリは、ユーザーコードについては c++11 および c++14 モードで使用され、一部の実行時ライブラリコードについては c++03 モードで使用されます。ユーザーは、–xatomic オプションでこのライブラリのリンクを制御できます。