インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
メインルーチンに対して浮動小数点トラッピング・モードを設定します。
インテル® グラフィックス・テクノロジーをターゲットとするインテル® 64 アーキテクチャー、または IA-32 アーキテクチャーで実行するインテル® グラフィックス・テクノロジーをターゲットとする場合は利用できません。
Linux* および macOS*: | -fp-trap=mode[,mode,...] |
Windows*: | /Qfp-trap:mode[,mode,...] |
mode |
浮動小数点トラッピング・モード。複数のモード値を指定した場合は、リストは左から右の順に処理されます。設定可能な値は以下のとおりです。
|
-fp-trap=none |
プログラムの起動時にトラップは有効にされません。 |
このオプションは、メインルーチンの浮動小数点トラッピング・モードを設定します。浮動小数点例外のハンドラーは設定しません。
mode 値の [no] 形式は、mode 値の all と common の意味を変更する場合にのみ使用され、これらの値のうちの 1 つとともに使用できます。[no] 形式自体は、明示的に特定のトラップを無効にするわけではありません。
mode 値の inexact は注意して使用してください。浮動小数点値を正確に表現できないときはいつでもトラップが有効になり、予測できない結果を引き起こすことがあります。
mode 値の underflow が指定された場合、コンパイラーはインテル® ストリーミング SIMD 拡張命令 (インテル® SSE) の浮動小数点ユニットの FTZ (Flush-to-Zero) ビット状態を無視します。
DAZ (Denormals Are Zero) ビットがインテル® SSE 浮動小数点ユニットのコントロール・ワードで設定されると、正規化されていないオペランド例外は生成されません。
すべてのルーチンに対して浮動小数点トラッピング・モードを設定するには、[Q]fp-trap-all オプションを指定します。
[Q]ftz オプションの否定形を使用して FTZ と DAZ ハードウェア・フラグを設定/リセットできます。
Visual Studio*: [Code Generation (コード生成)] > [Unmask Floating Point Exceptions (浮動小数点例外のマスク解除)]
[Configuration Properties (構成プロパティー)] > [C/C++] > [Unmask Floating Point Exceptions (浮動小数点例外のマスク解除)]
Eclipse*: [Floating Point (浮動小数点)] > [Initial Exception Mask (初期例外マスク)]
Xcode*: [Floating Point (浮動小数点)] > [Set Initial Exception Mask (初期例外マスクの設定)]
なし