将浮点异常转换为C异常

Converting floating point exceptions into C++ exceptions

是否可以在x86 Linux上将浮点异常(信号)转换为C异常?

这是出于调试目的,因此不可移植性和不完善性是可以的(例如,如果不能100%保证所有析构函数都被调用)。


如果您的C标准库实现支持TR1函数
fetestexceptferaiseexceptfeclearexcept(我还没有,所以我无法测试它),您可以检测五种浮点错误,然后可以抛出所需的任何异常。

有关这些功能的说明,请参见此处。

我还建议书《 The C Standard Library Extensions:A Tutorial and Reference》(皮特·贝克尔,ISBN-13:9780321412997)一书中的第12.3节"管理浮点环境",对这些功能进行了很好的描述。示例代码。

alt

推荐阅读

    linux调用函数的命令?

    linux调用函数的命令?,系统,代码,策略,上调,时间,设计,通信,网络,设备,项目,

    linux外部命令调用?

    linux外部命令调用?,系统,软件,标准,命令,盘中,管理,外部,进程,程序,内存,lin

    linux怎么调用命令行?

    linux怎么调用命令行?,系统,地址,工具,工作,首页,终端,命令,密码,信息,情况,l

    浏览器调用linux命令?

    浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,

    py调用linux的命令?

    py调用linux的命令?,系统,代码,状态,环境,标准,工具,命令,文件,脚本,终端,lin

    浏览器调用linux命令?

    浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,

    py调用linux的命令?

    py调用linux的命令?,系统,代码,状态,环境,标准,工具,命令,文件,脚本,终端,lin

    linux查看信号值命令?

    linux查看信号值命令?,时间,手机,检测,信息,工作,系统,软件,市场,命令,标准,L

    linux系统命令调用?

    linux系统命令调用?,系统,单位,工具,工作,管理,地址,权威,密码,电脑,信息,怎

    linux调用上一条命令?

    linux调用上一条命令?,系统,命令,一致,数字,名称,网上,电脑,目录,空格,终端,l

    linux命令行调用程序?

    linux命令行调用程序?,工具,环境,代码,初级,工程,系统,网上,服务,管理,发行,l

    linux命令行调试代码?

    linux命令行调试代码?,环境,代码,信息,平台,程序,编辑,版本,步骤,体系结构,

    linux下单步调试命令?

    linux下单步调试命令?,信息,系统,代码,工程,地址,工具,工作,数据,管理,环境,l

    linux串口调试命令?

    linux串口调试命令?,设备,数据,信息,数字,系统,标准,通讯,软件,通用,状态,lin

    linux查看信号表命令?

    linux查看信号表命令?,网络,地址,信息,系统,电脑,命令,数字,通信,服务,信号,l

    脚本调用linux命令?

    脚本调用linux命令?,代码,系统,工作,底部,脚本,位置,环境,行用,官网,标准,typ

    调用函数命令linux?

    调用函数命令linux?,系统,管理,网络,通用,统一,观察,地址,代码,设备,地方,怎

    linux内核总调用命令?

    linux内核总调用命令?,工作,地址,系统,信息,管理,策略,命令,目录,时间,基础,

    linux编程调用命令?

    linux编程调用命令?,系统,标准,管理,工作,基础知识,情况,环境,设备,基础,首

    linux命令窗口调用?

    linux命令窗口调用?,系统,工具,首页,终端,命令,数据,盘中,代码,密码,快捷键,