Frage

In Visual C++ ist ein DWORD nur ein vorzeichenloser Long-Wert, der von der Maschine, der Plattform und dem SDK abhängt.Da DWORD jedoch ein Doppelwort ist (also 2 * 16), ist ein DWORD auf 64-Bit-Architekturen immer noch 32-Bit?

War es hilfreich?

Lösung

Eigentlich ist ein Wort auf 32-Bit-Computern 32-Bit, aber der DWORD-Typ ist ein Überbleibsel aus der guten alten Zeit von 16-Bit.

Um die Portierung von Programmen auf das neuere System zu erleichtern, hat Microsoft entschieden, dass sich die Größe aller alten Typen nicht ändert.

Die offizielle Liste finden Sie hier:http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx

Alle plattformabhängigen Typen, die sich mit dem Übergang von 32-Bit zu 64-Bit geändert haben, enden mit _PTR (DWORD_PTR ist 32-Bit unter 32-Bit-Windows und 64-Bit unter 64-Bit-Windows).

Andere Tipps

Es ist definiert als:

typedef unsigned long       DWORD;

Allerdings laut MSDN:

Auf 32-Bit-Plattformen ist Long gleichbedeutend mit int.

Daher ist DWORD auf einem 32-Bit-Betriebssystem 32-Bit.Für ein 64-Bit-DWORD gibt es eine separate Definition:

typdef unsigned _int64 DWORD64;

Hoffentlich hilft das.

NEIN ...Auf allen Windows-Plattformen ist DWORD 32 Bit.Für 64-Bit-Typen wird LONGLONG oder LONG64 verwendet.

Einfaches DWor

8 Bit sind ein Byte.2 Bytes sind ein Wort.Doppelwort oder DWORD besteht aus 4 Bytes oder 2 Wörtern.

DWord ist ein Doppelwort und ein Wort ist 65535.Das Doppelwort wäre dann 65535^2 = 4294836225 oder ulong und sein 4 Byte großes Wort ist 2 Byte

Und das sind 2 Bytes zum Speichern auf der Festplatte oder zum Versenden über das Internet.

:) Wort zu modern Prozessoren ist entweder 32-Bit oder 64-Bit.Es handelt sich lediglich um die Länge des Speicherzeigers (die wiederum die Kapazität der ALU darstellt).

Aber historisch gesehen besteht das x86-„Wort“ aus 16 Bit (statt 32).Dabei definieren Microsoft-Bibliotheken, die in der Vergangenheit auf x86 abzielten, DWORD als unsigned long, d. h.„Maschinenzeigergröße“.

Das sind alles Kinder.Für zukünftige Referenz siehe Wikipedia.

Rufen Sie eine lange, dword32, dword64... auf.Was auch immer Sie wollen, aber ein Byte ist 8 Bit. Ein Wort ist 2 Bytes Ein Dword (Doppelwort) ist 2 Wörter, ein QWord (Quad -Wort) ist 4 Wörter

Auf 32- oder 64-Bit-Systemen können die Aliase wie LONG oder INT variieren, aber ein Dword ist immer noch ein Doppelwort

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top