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

範囲情報の格納

ポインターチェッカーは、macOS* システムではサポートされていません。

ポインターチェッカーは、ポインターのメモリーアドレスに隣接していないメモリーアドレスにある範囲テーブルに範囲情報を格納します。ポインターチェッカーは、ポインターのアドレスを使用してこのアドレスを計算します。

範囲情報は個別のメモリーアドレスに格納されるため、このモジュールでポインターチェッカーを使用してもデータ構造レイアウトやスタックフレームには影響しません。イネーブルモジュールのポインターの範囲をチェックできます。この機能は非イネーブルモジュールでも適切に動作しますが、これらのモジュールのポインターはチェックしません。

ポインターがレジスターにロードされると、コンパイラーは範囲テーブルから範囲情報をロードします。ポインターがレジスターから格納されると、コンパイラーは範囲テーブルに範囲情報を格納します。