インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
コンパイラーが次元なしで宣言された配列によるメモリーアクセスの範囲をチェックするかどうかを指定します。
Windows*: [Code Generation (コード生成)] > [Turn off Checking for Undimensioned Arrays (次元のない配列のチェックを無効にする)]
Linux*: [Code Generation (コード生成)] > [Turn off Checking for Undimensioned Arrays (次元のない配列のチェックを無効にする)]
OS X*: なし
Linux*: | -check-pointers-undimensioned -no-check-pointers-undimensioned |
OS X*: | なし |
Windows*: | /Qcheck-pointers-undimensioned /Qcheck-pointers-undimensioned- |
-check-pointers-undimensioned または /Qcheck-pointers-undimensioned |
次元なしで宣言された配列によるメモリーアクセスの範囲をチェックします。このチェックは、次元のある配列と次元のない配列の両方に対して行われます。 |
コンパイラーが次元なしで宣言された配列によるメモリーアクセスの範囲をチェックするかどうかを指定します。
このオプションを使用するには、-check-pointers (Linux*) または /Qcheck-pointers (Windows*) も指定する必要があります。また、インテル® Composer XE 2013 およびインテル® Parallel Studio XE 2013 (またはインテル® C++ Studio XE 2013) がシステムにインストールされていなければなりません。
デフォルトの設定 -check-pointers-undimensioned (Linux*) および /Qcheck-pointers-undimensioned (Windows* ) では、標準的でないコードの複数の定義がリンク時にエラーになったり、ポインターのチェックを有効にしてコンパイルされていないライブラリー・コードのリンク時にリンカーにより未定義シンボルの警告が出されます。どちらの場合も、シンボルに cp_array_end という文字列が含まれます。
これらの問題を回避するには、-no-check-pointers-undimensioned (Linux*) または /Qcheck-pointers-undimensioned- (Windows*) を指定して、次元のない配列のチェックを無効にします。
-no-check-pointers-undimensioned または /Qcheck-pointers-undimensioned- を指定すると、次元のある配列も常にチェックされます。