Domanda

In Visual C++ un DWORD è semplicemente un lungo senza segno che dipende dalla macchina, dalla piattaforma e dall'SDK.Tuttavia, poiché DWORD è una doppia parola (ovvero 2 * 16), una DWORD è ancora a 32 bit su architetture a 64 bit?

È stato utile?

Soluzione

In realtà, sui computer a 32 bit una parola è a 32 bit, ma il tipo DWORD è un residuo dei bei vecchi tempi a 16 bit.

Per facilitare il porting dei programmi sul nuovo sistema, Microsoft ha deciso che tutti i vecchi tipi non cambieranno dimensione.

Potete trovare l'elenco ufficiale qui:http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx

Tutti i tipi dipendenti dalla piattaforma che sono cambiati con la transizione da 32 bit a 64 bit terminano con _PTR (DWORD_PTR sarà a 32 bit su Windows a 32 bit e a 64 bit su Windows a 64 bit).

Altri suggerimenti

È definito come:

typedef unsigned long       DWORD;

Tuttavia, secondo MSDN:

Sulle piattaforme a 32 bit, long è sinonimo di int.

Pertanto, DWORD è a 32 bit su un sistema operativo a 32 bit.Esiste una definizione separata per un DWORD a 64 bit:

typdef unsigned _int64 DWORD64;

Spero che aiuti.

NO ...su tutte le piattaforme Windows DWORD è 32 bit.LONGLONG o LONG64 viene utilizzato per i tipi a 64 bit.

Semplice DWORD è a 32 bit WORD è a 16 bit -Modificato

8 bit sono un byte.2 byte sono una parola.La doppia parola o DWORD è di 4 byte o 2 parole.

DWord è una parola doppia e una parola è 65535.La doppia parola sarebbe quindi 65535 ^ 2 = 4294836225 o ulong e i suoi 4 byte di dimensione parola sono 2 byte

E questi sono 2 byte da archiviare sul disco rigido o inviare su Internet.

:) parola sul moderno processori è a 32 o 64 bit.È semplicemente la lunghezza del puntatore della memoria (che a sua volta è la capacità di ALU).

Ma storicamente la "parola" x86 è di 16 bit (invece di 32).In tal modo le librerie Microsoft che storicamente prendono di mira x86, definiscono DWORD come unsigned long, ad es."dimensione del puntatore della macchina".

Questo è tutto, ragazzi.Per riferimenti futuri cfr Wikipedia.

Chiama un lungo, dword32, dword64...quello che vuoi, ma Un byte è di 8 bit una parola è di 2 byte Una dword (doppia parola) è composta da 2 parole Una qword (parola quadrupla) è composta da 4 parole

Sui sistemi a 32 o 64 bit gli alias come LONG o INT possono variare, ma una dword è pur sempre una doppia parola

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top