How large is a DWORD with 32- and 64-bit code?在Visual C ++中,DWORD只是一个无符号的长整数,它取决于计算机,平台和SDK。 但是,由于DWORD是一个双字(即2 * 16),因此DWORD在64位体系结构上是否仍是32位? 实际上,在32位计算机上,一个单词是32位,但是DWORD类型是16位过去的遗留物。 为了更容易将程序移植到较新的系统,Microsoft决定所有旧类型都不会更改大小。
您可以在此处找到官方列表: 所有从平台到平台的类型都随着_PTR而从32位过渡到64位而改变(DWORD_PTR在32位Windows上为32位,在64位Windows上为64位)。 它定义为:
但是,根据MSDN:
因此,在32位操作系统上,DWORD为32位。 对于64位DWORD,有一个单独的定义:
希望能有所帮助。 在所有Windows平台上,否... DWORD为32位。 LONGLONG或LONG64用于64位类型。 |