Oracle Solaris Studio 12.2: C++ ユーザーズガイド

A.2.116 -xcheck[= i]

SPARC: -xcheck=stkovfを指定してコンパイルすると、シングルスレッドのプログラム内のメインスレッドのスタックオーバーフローおよびマルチスレッドプログラム内のスレーブスレッドのスタックが実行時にチェックされます。スタックオーバーフローが検出された場合は、SIGSEGV が生成されます。アプリケーションで、スタックオーバーフローで生成される SIGSEGV をほかのアドレス空間違反と異なる方法で処理する必要がある場合は、sigaltstack(2) を参照してください。

A.2.116.1 値

i には、次のいずれかを指定します。

表 A–27 -xcheck の値

値 

意味  

%all

チェックをすべて実行します。 

%none

チェックを実行しません。 

stkovf

スタックオーバーフローのチェックをオンにします。 

no%stkovf

スタックオーバーフローのチェックをオフにします。 

init_local

ローカル変数を初期化します。詳細は、『C ユーザーズガイド』を参照してください。 

no%init_local

ローカル変数を初期化しません。(デフォルト) 

デフォルト

-xcheck を指定しない場合は、コンパイラではデフォルトで -xcheck=%none が指定されます。

引数を指定せずに -xcheck を使用した場合は、コンパイラではデフォルトで -xcheck=%none が指定されます。

-xcheck オプションは、コマンド行で累積されません。コンパイラは、コマンドで最後に指定したものに従ってフラグを設定します。