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

check-pointers-undimensioned、Qcheck-pointers-undimensioned

コンパイラーが次元なしで宣言された配列によるメモリーアクセスの範囲をチェックするかどうかを指定します。

アーキテクチャーの制限

インテル® グラフィックス・テクノロジーをターゲットとするインテル® 64 アーキテクチャー、または IA-32 アーキテクチャーで実行するインテル® グラフィックス・テクノロジーをターゲットとする場合は利用できません。

構文

Linux*:

-check-pointers-undimensioned

-no-check-pointers-undimensioned

macOS*:

なし

Windows*:

/Qcheck-pointers-undimensioned

/Qcheck-pointers-undimensioned-

引数

なし

デフォルト

-check-pointers-undimensioned または /Qcheck-pointers-undimensioned

次元なしで宣言された配列によるメモリーアクセスの範囲をチェックします。このチェックは、次元のある配列と次元のない配列の両方に対して行われます。

説明

コンパイラーが次元なしで宣言された配列によるメモリーアクセスの範囲をチェックするかどうかを指定します。

このオプションを使用するには、[Q]check-pointers オプションも指定する必要があります。

ポインターチェッカー機能を利用するには、別の製品をインストールする必要があります。詳細は、「機能要件」を参照してください。

デフォルト設定 [Q]check-pointers-undimensioned では、標準的でないコードの複数の定義がリンク時にエラーになったり、ポインターのチェックを有効にしてコンパイルされていないライブラリー・コードのリンク時にリンカーにより未定義シンボルの警告が出されます。どちらの場合も、シンボルに cp_array_end という文字列が含まれます。

これらの問題を回避するには、オプションの否定形 (上記の構文を参照) を指定して、次元のない配列のチェックを無効にします。

オプションの否定形を指定すると、次元のある配列も常にチェックされます。

IDE オプション

Visual Studio*: [Code Generation (コード生成)] > [Turn off Checking for Undimensioned Arrays (次元のない配列のチェックを無効にする)]

Eclipse*: [Code Generation (コード生成)] > [Turn off Checking for Undimensioned Arrays (次元のない配列のチェックを無効にする)]

Xcode*: なし

代替オプション

なし

関連情報