Visual C++では、DWORDは機械、プラットフォーム、およびSDKに依存する符号なしlongです。ただし、DWORDはダブルワード(2 * 16)なので、64ビットアーキテクチャではDWORDはまだ32ビットですか?32ビットと64ビットのコードを持つDWORDの大きさはどれですか?
答えて
実際には、32ビットコンピュータでは1ワードは32ビットですが、DWORDタイプは16ビットの古き良き時代から残っています。
プログラムを新しいシステムに移植しやすくするために、Microsoftはすべての古いタイプがサイズを変更しないと判断しました。
あなたがここに公式のリストを見つけることができます。_ptrで終わる32ビットから64ビットへの移行で変更 http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx
すべてのプラットフォーム依存の種類を(DWORD_PTRは、32の32ビットになります64ビット版Windowsでは64ビット)
実際の範囲は[ここ](https://msdn.microsoft.com/en-us/library/s3f49ktz.aspx)に一覧表示されています。 –
@LaurieStearnこの記事は、Microsoftコンパイラが 'DWORD'のようなwinapiデータ型ではなく、内部的に使用するデータ型に関するものだと思います。 – jrh
ええ、回答のリンクされた[公式リスト](https://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx)の記事の範囲は次のとおりです。引用:** DWORD: 32ビットの符号なし整数。範囲は0〜4294967295の小数です** –
それは次のように定義される。
typedef unsigned long DWORD;
しかし、MSDNによると:32ビット・プラットフォームで
、long int型と同義 です。
したがって、DWORDは32ビットオペレーティングシステムでは32ビットです。別の64ビットDWORDの定義があります。
typdef unsigned _int64 DWORD64;
希望するものがあります。
:)現代語プロセッサは、32ビットまたは64ビットのいずれかです。それは単純にメモリポインタの長さです(順番にALUの容量です)。
しかし、歴史的には、x86「word」は16ビット(32ではなく)です。これにより、歴史的にx86をターゲットとするマイクロソフトのライブラリは、DWORDを符号なしロング、すなわち「マシンポインタサイズ」と定義する。
これはすべての子供です。将来の参照のためにWikipediaを参照してください。
(1)それは間違ったウィキペディアのページへのリンクです。 (2)質問はコンピュータアーキテクチャの言葉ではなく、Microsoftの「DWORD」タイプに関するものです。 –
http://en.wikipedia.org/wiki/Word_(computer_architecture) "例えば、MicrosoftのWindows APIは、APIが32または64で使用されているにもかかわらず、WORDのプログラミング言語定義を16ビットとして維持しています標準のワードサイズはそれぞれ32ビットまたは64ビットになるだろう」と語った。 –
コール長く、dword32、dword64 ...あなたが好きな、しかし バイトは8ビットで 語である2つのワード QWORD(クワッドワード)が4バイト2 DWORD(ダブルワード)ですされます32または64ビットシステムでは単語
はLONGまたはINTのようなエイリアスが変化してもよいが、DWORDは依然として
Microsoftは 'WORD'を2バイト、' DWORD'を4バイト、 'QWORD'を8バイトとみなします。 –
8ビットバイトでダブルワードです。 2バイトは単語です。ダブルワードまたはDWORDは4バイトまたは2ワードです。
単語の長さはプロセッサによって異なります。 DWORDは、2バイトワードの16ビットプロセッサが標準であるときに名前が付けられました。 Microsoftは、32ビット以上のプロセッサに移行したときの長さを変更しないことに決めました。 – Ben
- 1. 32ビットと64ビットのセットアッププロジェクト
- 2. 32ビット/ 64ビットOS?
- 3. 32ビット対64ビットのカスタムフレームワーク
- 4. Officeの32ビットdll 64ビット
- 5. 変換可能なコード、32ビット/ 64ビットの書き方は?
- 6. ランニング32&64ビットJavaコード
- 7. 32ビットと64ビットの動作の差
- 8. 64ビットpyodbcは32ビットMSアクセスデータベースと通信できますか?
- 9. 32ビットと64ビットは一緒に動作できますか?
- 10. ドライブCの問題32ビットと64ビット?
- 11. 32ビットと64ビットのVS 2010ビルド(プログラムファイル)
- 12. 32ビット、64ビット、参照ライブラリ
- 13. ubuntu 11.10 64ビットvs 32ビット
- 14. 32ビットと64ビットマシンの両方で常に64ビットです
- 15. これは32ビットまたは64ビットのJVMですか?
- 16. pybind11 "Pythonは64ビット、選択されたコンパイラは32ビットです"
- 17. 64ビットのDLLを32ビットのJVMにロードできますか?
- 18. 64ビットUbuntuの下で32ビットをコンパイルできますか?
- 19. Office 64ビットとIE 32ビットとVBScript
- 20. WindowsのPerl:32ビットまたは64ビット?
- 21. 32ビットExcelアドインは、64ビットExcelで動作できますか?
- 22. ソフトウェアを32ビットから64ビットにコンパイル
- 23. Inno-setup 32ビットと64ビットの1つで
- 24. Visual Studioユニットテスト32ビットと64ビット
- 25. .net InstallUtilユーティリティ - 32ビットと64ビット
- 26. Solrインデックス時間32ビットと64ビット
- 27. 64ビットWindowsで32ビットdllをインポート
- 28. 64ビットllvm-gccで32ビットをビルド
- 29. PDOで64ビットから32ビットに変換される整数
- 30. Wixで32ビットと64ビットのドライバをインストールしますか?
DWORDはマシン、プラットフォーム、SDKに依存しません。 –
これはニックピックですが、技術的にはこの問題はCまたはC++に当てはまりますが、C++タグを削除するかCタグを追加する方が良いかもしれませんが、どちらが良いか分かりません。 – jrh