可能性の重複:私はこれらの3つのポインタ間の差をGOOGLEで検索
difference between far pointer and near pointer in Ccのnear、far、およびhugeポインタの違いを説明できますか?
。しかし、私は2つのポインタのいずれかの違いを発見しました。
この詳細な説明はできますか?
可能性の重複:私はこれらの3つのポインタ間の差をGOOGLEで検索
difference between far pointer and near pointer in Ccのnear、far、およびhugeポインタの違いを説明できますか?
。しかし、私は2つのポインタのいずれかの違いを発見しました。
この詳細な説明はできますか?
16 bit intel architectures
との相違点のみです。
仮想アドレスに関する限り、セレクタとオフセットの2つのコンポーネントがあります。
セレクタは、ベースアドレスのテーブルへのインデックスであり、オフセットがそのベースアドレスに追加されます。
付近のポインタにはセレクタがありません。ポインタにはimplied selector
があります。彼らは仮想アドレス空間から64kにアクセスできます。
遠方ポインタにはexplicit selector
があります。しかし、ポインタ演算を行う場合は、selector isn't modified
。
巨大なポインタには、explicit selector
があります。あなたはthe selector can change
しかし、それらのポインタ演算を行う。
詳細はこのリンクを参照してください。
http://www.codeproject.com/Answers/103115/near-vs-far-vs-huge-pointers/?cmt=11086#answer1
Aargh!私はこのすべてを覚えています! (あまりにもメモリモデルのすべてのもの。)それを遠ざける! 32ビットのフラットなアーキテクチャの開発に移ったのは、正当な理由だけです... –
はるかに近く、そして巨大なポインタは、標準Cの一部ではありません。それらはセグメント化されたメモリアーキテクチャに対処するためにいくつかのベンダによって拡張されたものです。 Karthikの答えははるかに詳細を与える。
http://en.wikipedia.org/wiki/Intel_Memory_Model#Pointer_sizes –