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

check

ランタイム時に特定の条件をチェックします。

構文

Linux* および macOS*:

-check=keyword[, keyword...]

Windows*:

/check:keyword[, keyword...]

引数

keyword

確認する条件を指定します。設定可能な値は以下のとおりです。

[no]conversions

より小さいデータ型への変換をチェックするかどうか指示します。キーワード conversions を指定するとこのチェックが有効になります。

[no]stack

スタックフレームのチェックを行うかどうかを指定します。キーワード stack を指定するとこのチェックが有効になります。stack を指定すると、スタックのバッファー・オーバーランとバッファー・アンダーランがチェックされます。このオプションは、ローカル変数の初期化とスタックポインターの確認も行います。

[no]uninit

初期化されていない変数の確認を行うかどうかを指定します。キーワード uninit を指定するとこのチェックが有効になります。変数が書き込まれる前に読み取られる場合、ランタイム・エラー・ルーチンが呼び出されます。

定義されていない変数のランタイムチェックは、ローカルスカラー変数に対してのみ実行されます。動的に割り当てられる変数、外部変数、静的変数に対しては実行されません。また、構造体、クラス、共用体、配列に対しても実行されません。

デフォルト

noconversions
nostack
nouninit

上記のランタイム状態のチェックは行われません。

説明

このオプションは、ランタイム時に特定の条件を確認します。

Windows* では、このオプションはデフォルトおよび指定された最適化をすべて無効にし、最適化レベル /Od を適用します。最適化を指定している場合、無効になる最適化について警告を出力します。

Linux* および macOS* では、このオプションは一部の最適化を無効にすることがあります。

このオプションを使用するには、ライブラリー・サポートが必要です。プラットフォームに応じて、必要なライブラリーはオペレーティング・システムのランタイム環境か、コンパイラー・パッケージのいずれかにあります。

IDE オプション

Visual Studio*: なし

Eclipse*: [Run-time (ランタイム)] > [Check Stack Frame (スタックフレームのチェック)] (-check=stack)

[Run-time (ランタイム)] > [Check Type Conversions (型変換のチェック)] (-check=conversions)

[Runtime (ランタイム)] > [Check Uninitialized Variables (初期化されていない変数のチェック)] (-check=uninit)

Xcode*: [Run-time (ランタイム)] > [Check Stack Frame (スタックフレームのチェック)] (-check=stack)

[Run-time (ランタイム)] > [Check Type Conversions (型変換のチェック)] (-check=conversions)

[Runtime (ランタイム)] > [Check Uninitialized Variables (初期化されていない変数のチェック)] (-check=uninit)

代替オプション

check conversions

Linux* および macOS*: なし

Windows*: /RTCc

check stack

Linux* および macOS*: なし

Windows*: /RTCs

check uninit

Linux* および macOS*: なし

Windows*: /RTCu