首页 / 知识
将浮点异常转换为C异常
2023-04-16 17:42:00
Converting floating point exceptions into C++ exceptions是否可以在x86 Linux上将浮点异常(信号)转换为C异常? 这是出于调试目的,因此不可移植性和不完善性是可以的(例如,如果不能100%保证所有析构函数都被调用)。 如果您的C标准库实现支持TR1函数 有关这些功能的说明,请参见此处。 我还建议书《 The C Standard Library Extensions:A Tutorial and Reference》(皮特·贝克尔,ISBN-13:9780321412997)一书中的第12.3节"管理浮点环境",对这些功能进行了很好的描述。示例代码。 gcc选项-fnon-call-exceptions可能对您有用。虽然找不到任何文档,所以您的工作量可能会有所不同。 由于信号和异常的工作方式,您不能在引发信号时立即执行操作-异常依赖于堆栈的某些方面,而某些方面在调用信号处理程序时不正确。 您可以在信号处理程序中设置一个全局变量,然后在程序的关键点进行检查,并设置一个异常。但是,这不会为您提供有关引发的异常的确切信息。 我还没有一个现成的解决方案,但是您可能要看的一件事是信号(不确定是否可以安全地从它们中抛出C异常,但是无论如何它应该有助于调试。) 您可以为SIGFPE安装信号处理程序,并将其用于调试目的。 基本思想是为您安装用于浮点异常的适当信号处理程序。在信号处理程序内部,您可以引发异常(或将用户定义的信号发送到将引发异常的另一个进程,或将消息发送到另一个线程以获取类似信息,等等,等等,等等)。有很多方法可以实际引发异常-主要是处理信号。 |
最新内容
相关内容
linux调用函数的命令?
linux调用函数的命令?,系统,代码,策略,上调,时间,设计,通信,网络,设备,项目,如何在Linux内核里增加一个系统调用?在一个进程中创建3个线程,名字linux外部命令调用?
linux外部命令调用?,系统,软件,标准,命令,盘中,管理,外部,进程,程序,内存,linux借用外部命令expr,实现计算器功能,利用管道,进程你得装一个callinux怎么调用命令行?
linux怎么调用命令行?,系统,地址,工具,工作,首页,终端,命令,密码,信息,情况,linux怎么打开命令行窗口1、在Linux系统中,打开命令行窗口需要使用浏览器调用linux命令?
浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,服务,求助大神,如何通过网页使用python向linux系统发送一些命令执py调用linux的命令?
py调用linux的命令?,系统,代码,状态,环境,标准,工具,命令,文件,脚本,终端,linux执行python脚本1、先将终端所在路径切换到python脚本文件的目浏览器调用linux命令?
浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,服务,求助大神,如何通过网页使用python向linux系统发送一些命令执py调用linux的命令?
py调用linux的命令?,系统,代码,状态,环境,标准,工具,命令,文件,脚本,终端,linux执行python脚本1、先将终端所在路径切换到python脚本文件的目linux查看信号值命令?
linux查看信号值命令?,时间,手机,检测,信息,工作,系统,软件,市场,命令,标准,Linux常用命令总结cat命令 cat(连接的缩写)是Linux中最常用的命令之linux系统命令调用?
linux系统命令调用?,系统,单位,工具,工作,管理,地址,权威,密码,电脑,信息,怎么把linux系统的命令行打开在Linux系统中,打开命令行窗口需要使用linux调用上一条命令?
linux调用上一条命令?,系统,命令,一致,数字,名称,网上,电脑,目录,空格,终端,linux返回上一级的命令是什么?怎么写?首先在电脑中,打开linux系统linux命令行调用程序?
linux命令行调用程序?,工具,环境,代码,初级,工程,系统,网上,服务,管理,发行,linux下如何运行程序?1、,首先去运行perl-v命令查看您的linux系统linux命令行调试代码?
linux命令行调试代码?,环境,代码,信息,平台,程序,编辑,版本,步骤,体系结构,处理器,linux怎么调试pythonLinux中如何安装Python?安装pycharmPych