_controlfp_s返回高32位?

时间:2013-03-21 17:27:49

标签: fpu

我看到_controlfp_s unsigned int的返回显示某些ODBC工作正在设置第32位(只考虑16位)?

有人想知道这意味着什么吗?

通常我们只看到0x0008001F(64位)或0x0009001F(32位),但在某些情况下,似乎第三方驱动程序或DLL将此设置为0x8009001F !!!!

当第三方软件偶尔执行此操作时,我们注意到我们的应用程序随机关闭。

controlWord 10000000000010010000000000011111,

switchOffExceptions32bit 10010000000000011111, switchOffExceptions64bit 10000000000000011111

1 个答案:

答案 0 :(得分:0)

我在Java上通过JNA(JNI)使用第三方DLL时遇到了同样的问题。这里描述了众所周知的问题http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4644270以及此主题的一些有用提示http://blogs.msdn.com/b/dougste/archive/2008/11/12/random-and-unexpected-exception-flt-divide-by-zero-and-exception-flt-invalid-operation.aspx