インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
インテル® C++ コンパイラーには、高度に最適化された正確な数学関数を含む数値計算ソフトウェア・ライブラリーが含まれています。これらの関数は、科学やグラフィック・アプリケーションに広く使用されます。同様に、浮動小数点演算を多用するプログラムにも使用されます。C99 _Complex データ型のサポートを含めるには、[Q]std=c99 コンパイラー・オプションを使用してください。
インテルの数学ライブラリーの多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより高度に最適化されます。
mathimf.h ヘッダーファイルには、インテルの数学ライブラリー関数のプロトタイプが含まれています。
インテルの math.h ヘッダーファイルは、gcc の libm と互換性がありますが、gcc の数学ライブラリーにリンクしません。ソースは、gcc、icc、icl のいずれかでビルドできます。icc または icl でビルドすると、インテルの数学ライブラリーとリンクします。インテルの数学ライブラリーのヘッダーファイル mathimf.h には、インテルの数学ライブラリー固有の追加の関数が含まれています。ソースのビルドには、インテル® C++ コンパイラーとライブラリーを使用する必要があります。
expl や logl のようなインテルの数学ライブラリーの long double 型の関数は、Microsoft* ライブラリーと ABI 互換ではありません。これは、インテルのコンパイラーとライブラリーが 80 ビットの long double 型をサポートしているためです (Qlong-double オプションの説明を参照)。互換性を保持するため、インテルの数学ライブラリーと一緒に math.h や mathimf.h ヘッダーファイルを使用することを推奨します。
アプリケーションにリンクされる数学ライブラリーは、指定されたコンパイルまたは参照オプションに依存します。
ライブラリー |
説明 |
---|---|
libimf.a |
デフォルトのスタティック数学ライブラリー |
libimf.so |
デフォルトの共用数学ライブラリー |
アプリケーションにリンクされる数学ライブラリーは、指定されたコンパイルまたは参照オプションに依存します。
ライブラリー |
オプション |
説明 |
---|---|---|
libm.lib |
|
デフォルトのスタティック数学ライブラリー |
libmmt.lib |
/MT |
マルチスレッドのスタティック数学ライブラリー |
libmmd.lib |
/MD |
ダイナミック・リンク数学ライブラリー |
libmmdd.lib |
/MDd |
デバッグ用ダイナミック・リンク数学ライブラリー |
libmmds.lib |
|
/MD オプションでコンパイルされたスタティック・バージョン |