如果操作返回0,MS VS2008中是否有任何设置产生异常。#INF?使用常规调试对我没有帮助,因为我无法弄清楚它出现在哪里。
答案 0 :(得分:2)
您可以使用_control87启用除零异常。像这样:
#include "stdafx.h"
#include <float.h>
int _tmain(int argc, _TCHAR* argv[])
{
#ifdef _DEBUG
_control87( ~_EM_ZERODIVIDE, _MCW_EM );
#endif
double value = 1;
value /= 0; // kaboom
return 0;
}
仅使用 来诊断错误。更改FPU控制字对于期望FPU具有其默认初始化的库非常不稳定。
答案 1 :(得分:0)
应用属性的 C / C ++ - &gt;代码生成中有启用浮点例外