インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

fstack-protector

特定の (またはすべての) ルーチンのスタック・オーバーフロー・セキュリティー・チェックを有効/無効にします。

構文

Linux* および macOS*:

-fstack-protector[-keyword]

-fno-stack-protector[-keyword]

Windows*:

なし

引数

keyword

設定可能な値は以下のとおりです。

strong

-fstack-protector-strong を指定すると、バッファーを使用するルーチンのスタック・オーバーフロー・セキュリティー・チェックが有効になります。

all

-fstack-protector-all を指定すると、すべてのルーチンのスタック・オーバーフロー・セキュリティー・チェックが有効になります。

-keyword を指定しない場合、-fstack-protector オプションは、文字列バッファーを使用するルーチンのスタック・オーバーフロー・セキュリティー・チェックを有効にします。

デフォルト

-fno-stack-protector-fno-stack-protector-strong

関連ルーチンのスタック・オーバーフロー・セキュリティー・チェックは行われません。

-fno-stack-protector-all

すべてのルーチンのスタック・オーバーフロー・セキュリティー・チェックが行われません。

説明

このオプションは、特定の (またはすべての) ルーチンのスタック・オーバーフロー・セキュリティー・チェックを有効/無効にします。スタック・オーバーフローは、プログラムが変数に割り当てられているよりも多くの変数データを実行スタックに格納すると発生します。文字列バッファーの境界を越えて書き込んだり、配列境界よりも大きい配列インデックスを使用すると、スタック・オーバーフローとセキュリティー違反になります。

-fstack-protector オプションは、gcc との互換性のために提供されています。このオプションを指定すると、可能な場合に gcc/glibc 実装を使用します。gcc/glibc 実装を利用できない場合は、インテルによる実装を使用します。

この機能のインテル固有バージョンについては、-fstack-security-check コンパイラー・オプションを参照してください。

IDE オプション

なし

代替オプション

なし

関連情報