Windows / MSVC 上 C++ 中的浮点异常?

问题描述

在 Linux 上,可以通过以下方式安装要在发生浮点异常时调用函数

// 1. define MyFunction
void MyFunction(int signal) { /*...*/ }

// 2. install MyFunction as SIGFPE signal handler
struct sigaction sa = {};
sa.sa_handler = MyFunction;
sigaction(SIGFPE,&sa,nullptr);

// 3. raise SIGFPE on FE_DIVBYZERO or FE_INVALID
feenableexcept(FE_DIVBYZERO | FE_INVALID);

在 Windows / MSVC 上安装 MyFunction 的等效代码是什么?

(我听说 _control87 可以以类似的方式使用,应该如何精确调用它才能产生与上述相同的效果?)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)