_controlfp 関数を介して浮動小数点例外をスローするように Visual Studio を構成しました。これは NAN と INF では機能しますが、QNAN では機能しません。つまり、Quiet NaN は例外を発生させません。Visual Studio 2008/2010 に、QNAN を代わりに NAN に強制して例外をスローさせる関数または構成オプションはありますか?
質問する
1312 次
1 に答える
1
私はこのようなことをリモートで行ったことさえありませんが、いくつかの役立つヒント:
読む: http://www.cisl.ucar.edu/docs/trap.error/errortypes.html
インターネットでの結果の検索 (実際には約 30 秒しか費やしていません) から、これは通常、コンパイラ オプションで有効になっていると思われます。
ただし、このようなトラップの有効化/無効化はプログラムで指定できることも覚えているようです。特にWindowsでは、プリンターを印刷に使用する場合など、ほとんどすべてのプログラムで実行できます。さらに、このオプションをプログラムで変更する場合は、できるだけ早く以前の値に戻してください。そうしないと、.NET のユーザーがコードを使用しようとすると、問題が発生する可能性があります。
(つまり、_controlfp の使用は、他のルーチンによってオーバーライドされる可能性があります。これが実際に使用する正しいアプローチであると仮定します)
于 2010-12-16T02:02:16.910 に答える