Oracle® Solaris Studio 12.4:Fortran 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

3.4.38 –ftrap=t

设置在启动时有效的浮点捕获模式。

t 是一个逗号分隔列表,它包含以下项中的一个或多个:

%all, %none, common, [no%]invalid, [no%]overflow, [no%]underflow, [no%]division, [no%]inexact.

-ftrap=common-ftrap=invalid,overflow,division 的宏。

f95 的缺省值为 -ftrap=common。这与 C 和 C++ 编译器的缺省值 (-ftrap=none) 不同。

设置在启动时有效的 IEEE 754 捕获模式,但不安装 SIGFPE 处理程序。可以使用 ieee_handler(3M) 或 fex_set_handling(3M) 启用陷阱并同时安装 SIGFPE 处理程序。如果指定多个值,则按从左到右顺序处理列表。按照定义,常见异常包括无效、被零除和溢出。

示例: -ftrap=%all,no%inexact 表示设置除 inexact 以外的所有陷阱。

-ftrap=t 的含义与 ieee_flags() 基本相同,不同之处是:

  • %all 打开所有捕获模式,并会导致捕获伪异常和预期异常。请改用 common

  • %none 关闭所有捕获模式。

  • no% 前缀关闭该特定捕获模式。

主程序必须使用此选项进行编译才能有效。

有关详细信息,请参见《Fortran 编程指南》的“浮点运算”一章。