インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
コンパイラーが次元なしで宣言された配列によるメモリーアクセスの範囲をチェックするかどうかを指定します。
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 という文字列が含まれます。
これらの問題を回避するには、オプションの否定形 (上記の構文を参照) を指定して、次元のない配列のチェックを無効にします。
オプションの否定形を指定すると、次元のある配列も常にチェックされます。
Visual Studio*: [Code Generation (コード生成)] > [Turn off Checking for Undimensioned Arrays (次元のない配列のチェックを無効にする)]
Eclipse*: [Code Generation (コード生成)] > [Turn off Checking for Undimensioned Arrays (次元のない配列のチェックを無効にする)]
Xcode*: なし
なし