Question

Je n'ai installé que Windows 32 bits, je ne peux donc pas le vérifier moi-même.

Si je comprends bien, le DWORD utilisé à divers endroits dans l'API Microsoft fait référence au mot original de 16 bits, et n'a rien à voir avec l'architecture matérielle actuelle ?

Ainsi, DWORD, qui semble être en 32 bits, restera 32 bits même lorsque je compilerai et lierai éventuellement mon application pour qu'elle s'exécute sous Windows 64 bits ?Ou DWORD aura-t-il une largeur de 128 bits ?

Était-ce utile?

La solution

La seule chose qui change de taille comprise entre 32 et 64 sont des pointeurs.Donc, DWord reste 32 bits large.

Certaines choses ne sont pas immédiatement évidemment des pointeurs, par ex.Poignée, lparam, wparam.Mais ces trois changements de largeur ont-ils réellement tenu des pointeurs.

Autres conseils

Oh mon Dieu, voici une autre question raisonnable...:)

C'est toujours 32 bits, puisqu'un "mot" est considéré comme faisant 16 bits en x86.Les programmes seraient interrompus si la taille changeait.

Si vous avez besoin d'une taille native DWORD, essayer DWORD_PTR.

(Ne demande pas quelle est la différence entre DWORD_PTR, ULONG_PTR, UINT_PTR, et size_t est; Je n'ai aucune idée ce que pensait Microsoft en inventant les trois premiers...)

DWORD est toujours 32 bits (non signé).QWord est toujours 64 bits (non signé). Ensuite, il y a le DWord32 et un DWord64 qui sont 32 et 64 bits.Ne me demandez pas pourquoi sont-ils là: -)

http://msdn.microsoft.com/en-us/library/cc230318(V=Prot.10).aspx

http://msdn.microsoft.com/en-us/library/cc230362(V=Prot.10).aspx

et en général

http://msdn.microsoft.com/en-us/library/cc230309(V=Prot.10).aspx

sur les processeurs X86, un DWORD est de 32 bits, même sur des fenêtres 64 bits.Voir cette Article Wikipedia .

Je vais même aller plus loin que x86 arcade.Et dire en général, un mot peut être considéré comme 16 bits.La hiérarchie a traditionnellement été octet (8 bits), mot (16 bits), et donc un DWORD (si D est pris pour être un mot à double large) serait de 32 bits.Cela n'a pas nécessairement rien à voir avec une plate-forme ou une langue particulière, un octet a été de 8 bits et un mot a été de 16 bits de retour à l'ancienne journée de l'ordinateur 8 bits, même avant l'arc X86.existé

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top