Sun Studio 12 Update 1:Fortran 用户指南

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() 基本相同,不同之处是:

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

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