32 ビットおよび 64 ビット コードを含む DWORD はどのくらいの大きさですか?

StackOverflow https://stackoverflow.com/questions/39419

  •  09-06-2019
  •  | 
  •  

質問

Visual C++ では、DWORD はマシン、プラットフォーム、SDK に依存する単なる unsigned long です。しかし、DWORD はダブルワード (つまり 2 * 16) なので、64 ビット アーキテクチャでも DWORD は 32 ビットでしょうか?

役に立ちましたか?

解決

実際、32 ビット コンピュータではワードは 32 ビットですが、DWORD 型は 16 ビットの古き良き時代の名残です。

プログラムを新しいシステムに移植しやすくするために、Microsoft はすべての古いタイプのサイズを変更しないことを決定しました。

公式リストはここで見つけることができます。http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx

32 ビットから 64 ビットへの移行によって変更されたプラットフォーム依存の型はすべて、_PTR で終わります (DWORD_PTR は、32 ビット Windows では 32 ビット、64 ビット Windows では 64 ビットになります)。

他のヒント

それは次のように定義されます。

typedef unsigned long       DWORD;

ただし、MSDN によると次のようになります。

32ビットプラットフォームでは、LongはIntと同義です。

したがって、32 ビット オペレーティング システムでは DWORD は 32 ビットです。64 ビット DWORD には別の定義があります。

typdef unsigned _int64 DWORD64;

それが役立つことを願っています。

いいえ ...すべての Windows プラットフォームで DWORD は 32 ビットです。64 ビット型には LONGLONG または LONG64 が使用されます。

単純なdword is 32ビットワードは16ビット編集されています

8 ビットは 1 バイトです。2バイトがワードです。ダブルワードまたは DWORD は 4 バイトまたは 2 ワードです。

DWord はダブルワードで、1 ワードは 65535 です。Double Word は 65535^2 = 4294836225 または ulong となり、その 4 バイトのサイズのワードは 2 バイトになります

これは、ハードドライブに保存するか、インターネット経由で送信するための 2 バイトです。

:) 現代についての言葉 プロセッサー 32 ビットまたは 64 ビットのいずれかです。これは単にメモリ ポインタの長さです (つまり、ALU の容量になります)。

しかし、歴史的に、x86 の「ワード」は (32 ビットではなく) 16 ビットです。そのため、歴史的に x86 をターゲットとする Microsoft ライブラリは、DWORD を unsigned long として定義します。「マシンポインタのサイズ」。

それがすべての子供たちです。今後の参考のために、を参照してください。 ウィキペディア.

ロング、dword32、dword64 を呼び出します...あなたが望むものは何でも、しかしバイトは8ビットです。ワードは2バイトですdword(double word)は2ワードですqword(quad word)は4語です

32 ビットまたは 64 ビット システムでは、LONG や INT などのエイリアスは異なる場合がありますが、dword は依然としてダブルワードです

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top