Qual é o tamanho de um DWORD com código de 32 e 64 bits?

Em C++ Visual, uma palavra D é apenas uma longa sem sinal que é dependente de máquina, plataforma e SDK. No entanto, uma vez que DWORD é uma palavra dupla (que é 2 * 16), é uma DWORD ainda 32-bit em 64-bit arquiteturas?

Author: nvoigt, 2008-09-02

6 answers

Na verdade, em computadores de 32 bits uma palavra é 32-bit, mas o tipo DWORD é uma sobras dos bons velhos tempos de 16-bit.

A fim de facilitar a portagem de programas para o sistema mais recente, a Microsoft decidiu que todos os tipos antigos não mudarão de tamanho.

Pode encontrar a lista oficial aqui.: http://msdn.microsoft.com/en-us/library/aa383751 (VS.85).aspx

Todos os tipos dependentes da plataforma que mudaram com a transição de 32-bit para 64-bit final com _PTR (DWORD_PTR será 32-bit em Windows 32-bit e 64-bit em Windows 64-bit).

 54
Author: Nir, 2010-01-27 00:40:47

Está definido como:

typedef unsigned long       DWORD;

No entanto, de acordo com a MSDN:

Em plataformas de 32 bits, o long é sinônimo de int.

Portanto, DWORD é 32bit em um sistema operacional 32bit. Existe uma definição separada para uma palavra de 64 bits:

typdef unsigned _int64 DWORD64;
Espero que isso ajude.
 15
Author: Mark Ingram, 2008-09-02 12:55:47
Não ... em todas as plataformas Windows, O DWORD é de 32 bits. LONGLONG ou LONG64 é usado para 64 tipos de bits.
 5
Author: Rob Walker, 2008-09-02 12:55:45

8 bits é um byte. 2 bytes é uma palavra. Palavra dupla ou palavra DWORD é 4 bytes ou 2 palavras.

 -1
Author: Rokman, 2013-10-14 02:47:40

:) a palavra em processadores modernos é 32-bit ou 64-bit. É simplesmente o comprimento do ponteiro de memória (que é a capacidade de ALU por sua vez).

Mas historicamente a palavra x86 é de 16 bits (em vez de 32). Assim, as bibliotecas da Microsoft que historicamente têm como alvo O x86, definem o DWORD como "tamanho do ponteiro da máquina".

São só crianças. Para referência futura, ver Wikipedia .
 -2
Author: Artem Tikhomirov, 2013-04-14 17:54:45
Chama um longo, dword32, dword64... o que quiseres, mas ... um byte é de 8 bits uma palavra é 2 bytes uma palavra dword (palavra dupla) é 2 palavras um qword (palavra quad) é 4 palavras

Em sistemas de 32 ou 64 bits, os pseudónimos como LONG ou INT podem variar, mas uma palavra d ainda é uma palavra dupla

 -4
Author: bob lozo, 2013-07-16 17:27:38