互換モード (-compat[-4]]) の場合、l には次のいずれかを指定します。
表 A–16 互換モードに使用できる -library オプション
値 |
意味 |
---|---|
[no%]f77 |
非推奨。-xlang=f77 を使用してください。 |
[no%]f90 |
非推奨。-xlang=f90 を使用してください。 |
[no%]f95 |
非推奨。-xlang=f95 を使用してください。 |
[no%]rwtools7 |
古い Tools.h++ version 7 を使用します [しません]。 |
[no%]rwtools7_dbg |
デバッグ可能な Tools.h++ version 7 を使用します [しません]。 |
[no%]complex |
複素数の演算に libcomplex を使用します [しません]。 |
[no%]interval |
非推奨。使用しないでください。-xia を使用してください。 |
[no%]libC |
C++ サポートライブラリ libC を使用します [しません]。 |
[no%]gc |
ガベージコレクション libgc を使用します [しません]。 |
Sun Performance LibraryTM を使用します [しません]。 |
|
%none |
libC の場合を除いて C++ ライブラリを一切使用しません。 |
標準モード (デフォルトモード) の場合、l には次のいずれかを指定します。
表 A–17 標準モードに使用できる -library オプション
値 |
意味 |
---|---|
[no%]f77 |
非推奨。-xlang=f77 を使用してください。 |
[no%]f90 |
非推奨。-xlang=f90 を使用してください。 |
[no%]f95 |
非推奨。-xlang=f95 を使用してください。 |
[no%]rwtools7 |
古い Tools.h++ version 7 を使用します [しません]。 |
[no%]rwtools7_dbg |
デバッグ可能な Tools.h++ version 7 を使用します [しません]。 |
[no%]rwtools7_std |
標準 iostream Tools.h++ version 7 を使用します [しません]。 |
[no%]rwtools7_std_dbg |
デバッグが可能な標準 iostream Tools.h++ version 7 を使用します [しません]。 |
[no%]interval |
非推奨。使用しないでください。-xia を使用してください。 |
[no%]iostream |
古い iostream ライブラリ libiostream を使用します [しません]。 |
[no%]Cstd |
C++ 標準ライブラリ libCstd を使用します [しません]。コンパイラ付属の C++ 標準ライブラリヘッダーファイルをインクルードします [しません]。 |
[no%]Crun |
C++ 実行時ライブラリ libCrun を使用します [しません]。 |
[no%]gc |
ガベージコレクション libgc を使用します [しません]。 |
[no%]stlport4 |
デフォルトの libCstd の代わりに STLport の標準ライブラリの version 4.5.3 を使用します [しません]。STLport の実装の詳細は、「13.3 STLport」を参照してください。 |
[no%]stlport4_dbg |
STLport のデバッグ可能なライブラリを使用します [しません]。 |
[no%]sunperf |
Sun Performance Library を使用します [しません]。 |
%none |
libCrun の場合を除いて C++ ライブラリを使用しません。 |
互換モード (-compat[=4])
-library を指定しない場合は、-library=libC が使用されます。
-library=%none または -library=no%libC で特に除外されないかぎり、 libC ライブラリは常に含まれます。
標準モード (デフォルトモード)
-library=%none、-library=no%Cstd、-library=stlport4 のいずれかで特に除外されないかぎり、libCstd ライブラリは常に含まれます。
libCrun ライブラリは常に含まれます。
-library=%none が指定されたとしても、標準または互換のどちらのモードであるかに関わりなく、libm および libc ライブラリは常に含まれます。
標準モードで libCrun 以外の C++ ライブラリを除外してリンクするには、次のコマンドを使用します。
example% CC -library=%none |
標準モードで従来の iosttream と RogueWave tools.h++ ライブラリを使用するには、次のコマンドを使用します。
example% CC -library=rwtools7,iostream |
標準モードで標準 の iostream と Rogue Wave tools.h++ ライブラリを使用するコマンドは次のとおりです。
example% CC -library=rwtools7_std |
互換モードで従来の iostream と Rogue Wave tools.h++ ライブラリを使用するコマンドは次のとおりです。
example% CC -compat -library=rwtools7 |
-library でライブラリを指定すると、適切な -I パスがコンパイルで設定されます。リンクでは、適切な -L、-Y P、および -R パスと、-l オプションが設定されます。
このオプションは、置き換えられる代わりに蓄積されます。
区間演算ライブラリを使用するときは、libC、libCstd、または libiostream のいずれかのライブラリを取り込む必要があります。
-library オプションを使用すると、指定したライブラリに対する -l オプションが正しい順序で送信されるようになります。たとえば、-library=rwtools7,iostream および -lirabary=iostream,rwtools7 のどちらでも、-l オプションは、-lrwtool -liostream の順序で ld に渡されます。
指定したライブラリは、システムサポートライブラリよりも前にリンクされます。
-library=sunperf と -xlic_lib=sunperf は同じコマンド行で使用できません。
-library=stlport4 と -library=Cstd を同一のコマンド行で使用できません。
同時に使用できる RogueWave ツールライブラリは 1 つだけです。 また、-library=stlport4 を指定して RogueWave ツールライブラリと併用することはできません。
従来 の iostream RogueWave ツールライブラリを標準モード (デフォルトモード) で取り込む場合は、libiostream も取り込む必要があります (詳細は、『C++ 移行ガイド』を参照してください)。標 準 iostream RogueWave ツールライブラリは、標準モードでのみ使用できます。次のコマンド例は、RogueWave tools.h++ ライブラリオプションの有効もしくは無効な使用法について示します。
% CC -compat -library=rwtools7 foo.cc <-- 有効 % CC -compat -library=rwtools7_std foo.cc <-- 無効 % CC -library=rwtools7,iostream foo.cc <-- 有効、従来の iostream % CC -library=rwtools7 foo.cc <-- 無効 % CC -library=rwtools7_std foo.cc <-- 有効、標準の iostream % CC -library=rwtools7_std,iostream foo.cc <-- 無効 |
libCstd と libiostream の両方を含めた場合は、プログラム内で新旧両方の形式の iostream (例: cout と std::cout) を使用して、同じファイルにアクセスしないよう注意してください。同じプログラム内に標準 iostream と従来の iostream が混在し、その両方のコードから同じファイルにアクセスすると、問題が発生する可能性があります。
libC とも libCrun ともリンクしないプログラムは、C++ のすべての機能を使用できないことがあります。
-xnolib を指定すると、-library は無視されます。
別々の手順でコンパイルしてリンクする場合は、コンパイルコマンドに表示される一連の -library オプションをリンクコマンドにも表示する必要があります。
stlport4、Cstd、および iostream のライブラリは、固有の入出力ストリームを実装しています。これらのライブラリの 2 個以上を-library オプションを使って指定した場合、プログラム動作が予期しないものになる恐れがあります。STLport の実装の詳細は、「13.3 STLport」を参照してください。
これらのライブラリは安定したものではなく、リリースによって変わることがあります。
-I、-l、-R、-staticlib、-xia、-xlang、-xnolib、「11.4.8 アプリケーションの例」、「警告:」、「13.3.1 再配布とサポートされる STLport ライブラリ」、「2.7.3.3 標準ライブラリヘッダーファイルに対する make の使用」、『Tools.h++ ユーザーズガイド』、『Tools.h++ クラスライブラリ・リファレンスマニュアル』、『Standard C++ Class Library Reference』(英語版のみ)、『 C++ Interval Arithmetic Programming Reference』(英語版のみ)
-library=no%cstd オプションを使用して、ユーザー独自の C++ 標準ライブラリの使用を有効にする方法については、「12.7 C++ 標準ライブラリの置き換え」を参照してください。