Насколько велик DWORD с 32- и 64-разрядным кодом?

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

  •  09-06-2019
  •  | 
  •  

Вопрос

В Visual C ++ DWORD - это просто длина без знака, зависящая от компьютера, платформы и SDK.Однако, поскольку DWORD - это двойное слово (то есть 2 * 16), остается ли DWORD 32-разрядным на 64-разрядных архитектурах?

Это было полезно?

Решение

На самом деле, на 32-битных компьютерах слово является 32-битным, но тип DWORD является пережитком старых добрых 16-битных дней.

Чтобы упростить перенос программ на более новую систему, Microsoft решила, что все старые типы не будут изменять размер.

Вы можете найти официальный список здесь: http://msdn.microsoft.com/en-us/ библиотека / aa383751 (VS.85) .aspx

Все платформо-зависимые типы, которые изменились при переходе с 32-разрядного на 64-разрядное, заканчиваются _PTR (DWORD_PTR будет 32-разрядным в 32-разрядной Windows и 64-разрядной в 64-разрядной Windows).

Другие советы

Он определяется как:

typedef unsigned long       DWORD;

Однако, согласно MSDN:

  

На 32-битных платформах long   синоним int.

Следовательно, DWORD является 32-разрядным в 32-разрядной операционной системе. Для 64-битного DWORD существует отдельное определение:

typdef unsigned _int64 DWORD64;

Надеюсь, это поможет.

Нет ... на всех платформах Windows DWORD составляет 32 бита. LONGLONG или LONG64 используется для 64-битных типов.

Простой DWORD состоит из 32 бит WORD состоит из 16 бит -отредактирован

8 бит - это байт. 2 байта это слово. Двойное слово или DWORD составляет 4 байта или 2 слова.

DWord - это двойное слово, и слово равно 65535. В этом случае двойное слово будет равно 65535 ^ 2 = 4294836225 или ulong, а его слово размером 4 байта будет 2 байта

И это 2 байта для хранения на жестком диске или отправки через Интернет.

Слово

:) на современных процессорах является 32-битным или 64-битным. Это просто длина указателя памяти (которая в свою очередь является емкостью ALU).

Но исторически x86 " слово " 16 бит (вместо 32). Таким образом, библиотеки Microsoft, которые исторически нацелены на x86, определяют DWORD как unsigned long, то есть «размер указателя машины».

Это все дети. Для дальнейшего использования см. Википедию .

Называй долго, dword32, dword64 ... как хочешь, но байт 8 бит слово 2 байта меч (двойное слово) - 2 слова qword (четверное слово) - 4 слова

В 32- или 64-битных системах псевдонимы типа LONG или INT могут различаться, но двойное слово по-прежнему является двойным словом

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top