Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
32位和64位代码的DWORD有多大? VisualC++中的dPoT只是一个无符号的长,即机器、平台和SDK依赖。然而,由于DWORD是一个双字(即2*16),在64位体系结构上DWORD仍然是32位吗?_C++_Winapi_64 Bit_Dword - Fatal编程技术网

32位和64位代码的DWORD有多大? VisualC++中的dPoT只是一个无符号的长,即机器、平台和SDK依赖。然而,由于DWORD是一个双字(即2*16),在64位体系结构上DWORD仍然是32位吗?

32位和64位代码的DWORD有多大? VisualC++中的dPoT只是一个无符号的长,即机器、平台和SDK依赖。然而,由于DWORD是一个双字(即2*16),在64位体系结构上DWORD仍然是32位吗?,c++,winapi,64-bit,dword,C++,Winapi,64 Bit,Dword,否。。。在所有Windows平台上,DWORD为32位。LONGLONG或LONG64用于64位类型。其定义为: typedef unsigned long DWORD; 然而,根据MSDN: 在32位平台上,long是 与int同义 因此,DWORD在32位操作系统上是32位的。64位DWORD有一个单独的定义: typdef unsigned _int64 DWORD64; 希望有帮助。事实上,在32位计算机上,单词是32位的,但DWORD类型是16位的好日子遗留下来的 为了

否。。。在所有Windows平台上,DWORD为32位。LONGLONG或LONG64用于64位类型。

其定义为:

typedef unsigned long       DWORD;
然而,根据MSDN:

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

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

typdef unsigned _int64 DWORD64;

希望有帮助。

事实上,在32位计算机上,单词是32位的,但DWORD类型是16位的好日子遗留下来的

为了更容易地将程序移植到较新的系统,微软决定所有的旧类型都不会改变大小

您可以在此处找到官方列表:


所有与平台相关的类型,随着32位到64位的C++语言的转换而改变(dWorddpPTR将在32位窗口上32位,在64位窗口上为64位)。dWord不是机器、平台,也不是依赖于SDK的。这是一种挑剔,但技术上,这个问题适用于C或C++,删除C++标签或添加C标签可能更好,但我不确定哪个更好。它与Windows无关,它是英特尔。term@Abyx:typedef

DWORD
非常适合Windows。@rubenvb,哦,为什么它被称为
DWORD
,而不是像
QBYTE
DUBWD
这样的东西?实际的范围已经列出了。@LaurieStearn我认为这篇文章是关于微软编译器内部使用的数据类型,而不是像
DWORD
这样的winapi数据类型。是的,答案链接中的文章现在的范围是:Quote:DWORD:32位无符号整数。范围为0到4294967295十进制。DWORD在windows库中等于“无符号长”