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

check-pointers、Qcheck-pointers

コンパイラーがポインターによるメモリーアクセスの範囲をチェックするかどうかを指定します。

アーキテクチャーの制限

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

構文

Linux*:

-check-pointers=keyword

macOS*:

なし

Windows*:

/Qcheck-pointers:keyword

引数

keyword

ポインターチェックの種類を指定します。設定可能な値は以下のとおりです。

none

範囲のチェックを無効にします。これはデフォルトです。

rw

ポインターによる読み取りと書き込みの範囲をチェックします。

write

ポインターによる書き込みのみ範囲をチェックします。

デフォルト

-check-pointers=none または /Qcheck-pointers:none

ポインターによるメモリーアクセスの範囲をチェックしません。

説明

このオプションは、コンパイラーがポインターによるメモリーアクセスの範囲をチェックするかどうかを指定します。ポインターによる間接アクセスと配列へのアクセスのチェックを有効にします。

アクセスが安全であると判断できる場合は、チェックが省略されることがあります。

rw または write を指定すると、[Q]check-pointers-undimensioned オプションが設定され、次元のある配列とない配列がチェックされます。

次元のない配列をチェックしない場合は、オプションの否定形を指定します (上記の構文を参照)。

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

IDE オプション

Visual Studio*: [Code Generation (コード生成)] > [Check Pointers (ポインターのチェック)]

Eclipse*: [Code Generation (コード生成)] > [Check Pointers (ポインターのチェック)]

Xcode*: なし

代替オプション

なし

関連情報