Oracle Solaris Studio 12.2:Fortran 用户指南

3.4.115 –xcheck=keyword

生成特殊的运行时检查和初始化。

keyword 必须是以下项之一:

keyword(关键字)

特性  

stkovf

打开用于检测子程序入口上是否有栈溢出的运行时检查。如果检测到栈溢出,则将引发 SIGSEGV 段故障。

no%stkovf

禁用用于检测栈溢出的运行时检查。 

init_local

执行特殊的本地变量初始化。

编译器将局部变量初始化为这样一个值:如果在赋予该值之前程序使用了它,则可能会导致运算异常。由 ALLOCATE 语句分配的内存也会以这种方式初始化。

不对模块变量、STATICSAVE 本地变量及 COMMON 块中的变量进行初始化。

有关详细信息,请参见《C 用户指南》。 

no%init_local

禁用局部变量初始化。这是缺省值。 

%all

打开所有这些运行时检查功能。 

%none

禁用所有这些运行时检查功能。 

栈溢出(尤其是在栈上分配大数组的多线程应用程序中)可能会在邻近线程栈中导致无提示的数据损坏。如果怀疑存在栈溢出,请使用 -xcheck=stkovf 编译所有例程。但请注意,使用此标志进行编译不保证将检测到所有栈溢出情况,因为它们可能出现在不是使用此标志编译的例程中。