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?
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).aspxTodos 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).
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.
8 bits é um byte. 2 bytes é uma palavra. Palavra dupla ou palavra DWORD é 4 bytes ou 2 palavras.
:) 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 .Em sistemas de 32 ou 64 bits, os pseudónimos como LONG ou INT podem variar, mas uma palavra d ainda é uma palavra dupla