В Visual С++ DWORD - это просто unsigned long, который зависит от машины, платформы и SDK. Однако, поскольку DWORD - это двойное слово (то есть 2 * 16), является еще 32-разрядным DWORD на 64-разрядных архитектурах?
Насколько велика DWORD с 32- и 64-битным кодом?
Ответ 1
Собственно, на 32-битных компьютерах слово 32-битное, но тип DWORD - это остатки старых добрых дней 16-бит.
Чтобы упростить перенос программ на новую систему, Microsoft решила, что все старые типы не изменят размер.
Вы можете найти официальный список здесь: http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx
Все зависимые от платформы типы, которые были изменены с переходом от 32-битного к 64-битовому концу с помощью _PTR (DWORD_PTR будет 32-разрядным в 32-разрядной Windows и 64-разрядной версии в 64-разрядной Windows).
Ответ 2
Он определяется как:
typedef unsigned long DWORD;
Однако, согласно MSDN:
На 32-битных платформах долго синоним int.
Следовательно, DWORD 32-битная в 32-битной операционной системе. Для 64-битного DWORD существует отдельное определение:
typdef unsigned _int64 DWORD64;
Надеюсь, что это поможет.
Ответ 3
Нет... на всех платформах Windows DWORD - 32 бита. LONGLONG или LONG64 используются для 64-разрядных типов.
Ответ 4
Простое DWORD - 32 бита, WORD - 16 битов -edited
Ответ 5
Большое спасибо за ответы до сих пор, но проблема все еще не решена, указав DWORD как LONG64, DWORD64 и скомпилировав приложение как 64-битное. всегда есть одно число, забытое компилятором, или так кажется.
Ответ 6
8 бит - это байт. 2 байта - это слово. Двойное слово или DWORD - 4 байта или 2 слова.
Ответ 7
DWord - это двойное слово, и слово равно 65535. Тогда двойное слово будет равно 65535 ^ 2 = 4294836225 или ulong, а его слово размером 4 байта будет 2 байта.
И это 2 байта для хранения на жестком диске или отправки через Интернет.
Ответ 8
:) слово на современных процессорах - либо 32-битное, либо 64-битное. Это просто длина указателя памяти (которая в свою очередь представляет собой емкость ALU).
Но исторически x86 "word" - 16 бит (вместо 32). Таким образом, библиотеки Microsoft, которые исторически ориентированы на x86, определяют DWORD как unsigned long i.e "размер машинного указателя".
Что все дети. В дальнейшем обратитесь к Wikipedia.
Ответ 9
Вызвать длинный, dword32, dword64... все, что хотите, но байт - 8 бит слово равно 2 байтам dword (двойное слово) - 2 слова qword (quad word) - 4 слова
В 32 или 64-битных системах псевдонимы, такие как LONG или INT, могут различаться, но dword все еще является двойным словом