Sun Studio 12: C ユーザーズガイド

B.2.78 -xcheck[= o]

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

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

表 B–18 -xcheck のフラグ

フラグ 

意味 

%none

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

%all

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

stkovf

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

no%stkovf

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

-xcheck を指定しない場合は、コンパイラでは -xcheck=%none が指定されます。引数を指定せずに -xcheck を使用した場合は、コンパイラでは -xcheck=%all がデフォルトで指定されます。この場合は、スタックオーバーフローの実行時チェックがオンになります。

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