如何卸载C11中feholdexcept安装的浮点异常非停模式?
C标准
feholdexcept非停模式卸载问题说明 C11标准相关条款原文
7.6.4.2节第2款(重点标注)
feholdexcept函数将当前浮点环境保存至envp指向的对象,清除浮点状态标志后,若平台支持则为所有浮点异常安装非停(浮点异常发生时继续执行)模式218。
对应脚注218内容
符合IEC 60559标准的系统默认采用非停模式,通常至少提供一种用于陷阱处理或程序中止的模式;若系统仅支持非停模式则该模式的安装操作十分简单,在这类系统中feholdexcept可与feupdateenv函数配合,编写能够向调用者隐藏伪浮点异常的例程。
正式技术问询
- 核心问题:应当如何卸载上述
feholdexcept安装的非停(浮点异常触发后继续执行)模式?
官方答复与后续
2022年7月25日更新:收到PL22.11(ANSI C标准委员会)副主席Fred J. Tydeman的官方答复:
标准C未提供任何实现该卸载操作的方式。
据此判断,该功能缺失属于C标准的现存缺陷,相关标准修订进展将持续跟进。
内容的提问来源于stack exchange,提问作者pmor。
相关产品推荐
相关产品推荐

