32 ビットおよび 64 ビット コードを含む DWORD はどのくらいの大きさですか?
質問
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 は依然としてダブルワードです