3.4.115 –xcheck=keyword
生成特殊的运行时检查和初始化。
keyword 必须是以下项之一:
keyword(关键字)
|
特性
|
stkovf
|
打开用于检测子程序入口上是否有栈溢出的运行时检查。如果检测到栈溢出,则将引发 SIGSEGV 段故障。(仅适用于 SPARC)
|
no%stkovf
|
禁用用于检测栈溢出的运行时检查。(仅适用于 SPARC)
|
init_local
|
执行特殊的本地变量初始化。
编译器将局部变量初始化为这样一个值:如果在赋予该值之前程序使用了它,则可能会导致运算异常。由 ALLOCATE 语句分配的内存也会以这种方式初始化。
不对模块变量、SAVE 变量和 COMMON 块中的变量进行初始化。
|
no%init_local
|
禁用局部变量初始化。这是缺省值。
|
%all
|
打开所有这些运行时检查功能。
|
%none
|
禁用所有这些运行时检查功能。
|
栈溢出(尤其是在栈上分配大数组的多线程应用程序中)可能会在邻近线程栈中导致无提示的数据损坏。如果怀疑存在栈溢出,请使用 -xcheck=stkovf 编译所有例程。但请注意,使用此标志进行编译不保证将检测到所有栈溢出情况,因为它们可能出现在不是使用此标志编译的例程中。