当前位置:  开发笔记 > 编程语言 > 正文

具有32位和64位代码的DWORD有多大?

如何解决《具有32位和64位代码的DWORD有多大?》经验,为你挑选了3个好方法。

在Visual C++中,DWORD只是一个unsigned long,它依赖于机器,平台和SDK.但是,由于DWORD是双字(即2*16),64位架构上的DWORD仍然是32位吗?



1> Nir..:

实际上,在32位计算机上,一个单词是32位,但DWORD类型是16位旧时代的遗留物.

为了便于将程序移植到更新的系统,Microsoft决定所有旧类型都不会改变大小.

你可以在这里找到官方列表:http: //msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx

所有与平台相关的类型随着从32位到64位的转换而变为_PTR(DWORD_PTR在32位Windows上为32位,在64位Windows上为64位).



2> Mark Ingram..:

它被定义为:

typedef unsigned long       DWORD;

但是,根据MSDN:

在32位平台上,long与int同义.

因此,在32位操作系统上,DWORD是32位.64位DWORD有一个单独的定义:

typdef unsigned _int64 DWORD64;

希望有所帮助.



3> Rob Walker..:

不...在所有Windows平台上,DWORD是32位.LONGLONG或LONG64用于64位类型.


@Abyx:typedef`WIORD`非常适合Windows.
@rubenvb,哦,为什么它被称为`DWORD`而不是像`QBYTE`或'DUBWD`?
推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有