hugeポインター
読み:ヒュージ-ポインター
外語:huge pointer
x86系プロセッサーの16ビット環境でのプログラミングで使われるポインターの一つ。
概要
x86の16ビット環境(いわゆるIA-16)では、セグメント方式でアドレッシングする。
セグメントに対応したfarポインターは、通常は32ビット長のポインター変数であるが、16ビットごとに区切って「セグメント:オフセット」を表わすため、実際には20ビットの範囲内でしかアドレッシングできず、またオフセットの範囲(64Kiバイト)を超えたメモリーを扱うことができない。
hugeポインターは他のプロセッサーと同様なリニア方式のアドレッシングを採用したポインター変数である。このため、64Kiバイトを超えたメモリー(配列やmallocなど)を扱うことができる。
特徴
hugeポインターは見かけ上リニア方式のアドレッシングを提供する。
しかしリニア方式のアドレッシングは、実際のx86 CPUのアドレッシング方法とは異なる。そのため、内部で随時CPUのアドレッシング方法に変換して処理される。
従って、この方法は処理速度が低下する可能性が高い。
このポインターは、ヒュージモデルと呼ばれるメモリーモデルで用いられる。
再検索