在Visual C ++中,DWORD只是一个unsigned long,它依赖于机器,平台和SDK。但是,由于DWORD是双字(即2 * 16),64位架构上的DWORD仍然是32位吗?
答案 0 :(得分:56)
实际上,在32位计算机上,一个单词是32位的,但DWORD类型是16位旧时代的遗留物。
为了便于将程序移植到更新的系统,Microsoft决定所有旧类型都不会改变大小。
您可以在此处找到官方列表: http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx
所有与平台相关的类型随着_PTR从32位到64位的转换而变化(DWORD_PTR在32位Windows上为32位,在64位Windows上为64位)。
答案 1 :(得分:15)
定义为:
typedef unsigned long DWORD;
然而,根据MSDN:
在32位平台上,长期是 与int。同义。
因此,在32位操作系统上,DWORD是32位。 64位DWORD有一个单独的定义:
typdef unsigned _int64 DWORD64;
希望有所帮助。
答案 2 :(得分:6)
否......在所有Windows平台上,DWORD是32位。 LONGLONG或LONG64用于64位类型。
答案 3 :(得分:0)
简单 DWORD是32位 WORD为16位 编辑
答案 4 :(得分:-1)
8位是一个字节。 2个字节是一个单词。双字或DWORD是4个字节或2个字。
答案 5 :(得分:-2)
DWord是一个Double单词,一个单词是65535。则Double Word将是65535 ^ 2 = 4294836225或ulong,其4个字节的单词个字节是2个字节
这是2个字节,可存储在硬盘上或通过Internet发送。
答案 6 :(得分:-3)
:)字是32位还是64位。它只是内存指针的长度(依次是ALU的容量)。
但历史上x86“字”是16位(而不是32位)。因此,历史上以x86为目标的Microsoft库将DWORD定义为无符号长,即“机器指针大小”。
那是所有的孩子。有关日后参考,请参阅Wikipedia。
答案 7 :(得分:-4)
拨打长,dword32,dword64 ......无论你想要什么,但是 一个字节是8位 一个字是2个字节 双字(双字)是2个字 一个qword(四字)是4个字
在32或64位系统上,像LONG或INT这样的别名可能会有所不同,但dword仍然是双字的