インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
インテル® Memory Protection Extensions (インテル® MPX) 対応のプロセッサーにおいて、コンパイラーがポインターによるメモリーアクセスの範囲をチェックするかどうかを指定します。
インテル® Xeon Phi™ コプロセッサー x100 製品ファミリー (開発コード名 Knights Corner) をターゲットとするインテル® 64 アーキテクチャー、インテル® グラフィックス・テクノロジーをターゲットとする IA-32 アーキテクチャー、またはインテル® グラフィックス・テクノロジーをターゲットとするインテル® 64 アーキテクチャーでは利用できません。
Linux*: | -check-pointers-mpx=keyword |
OS X*: | なし |
Windows®: | /Qcheck-pointers-mpx:keyword |
keyword |
ポインターチェックの種類を指定します。設定可能な値は以下のとおりです。
|
-check-pointers-mpx=none または /Qcheck-pointers-mpx:none |
インテル® MPX 対応のプロセッサーにおいてポインターによるメモリーアクセスの範囲をチェックしません。 |
このオプションは、インテル® MPX 対応のプロセッサーにおいて、コンパイラーがポインターによるメモリーアクセスの範囲をチェックするかどうかを指定します。 ポインターによる間接アクセスと配列へのアクセスのチェックを有効にします。
アクセスが安全であると判断できる場合は、チェックが省略されることがあります。
[Q]check-pointers オプションと [Q]check-pointers-mpx オプションを一緒に指定すると、[Q]check-pointers-mpx オプションが優先されます。
[Q]check-pointers-mpx オプションを指定する場合、[Q]check-pointers-dangling オプションを一緒に指定することはできません。
この機能を利用するには、対応ハードウェア、OS、ライブラリー・サポートが必要です。 インテル® MPX の境界例外は、NULL ポインター例外の処理と同様に、OS およびランタイム・ライブラリーによって処理されるハードウェア例外です。 ポインターチェッカーの詳細レポートとレポート制御関数は、OS の例外処理をオーバーライドする必要があるため、インテル® MPX では有効になりません。
詳細は、『Intel® Memory Protection Extensions Enabling Guide』(http://intel.ly/1QlUdjN (英語)) を参照してください。
ポインターチェッカー機能を利用するには、別の製品をインストールする必要があります。 詳細は、「機能要件」を参照してください。
Visual Studio®: [Code Generation (コード生成)] > [Check Pointers (ポインターのチェック)]
Eclipse*: [Code Generation (コード生成)] > [Check Pointers (ポインターのチェック)]
Xcode*: なし
なし