根据Windows 数据类型,除了 IntSafe.h 之外,DWORD 和 DWORD32 都是“32 位无符号整数”,另一个在 BaseTsd.h 中定义。使用其中一种有什么区别或优势?
问问题
1426 次
2 回答
2
Windows API 充满了数十年的 C#define
和typedef
碎片。
你看到的是一些碎片。也许在某个时候,他们考虑过有一个DWORD
规模化的规模,而DWORD32
不会。
但这种希望早已破灭。它们几乎可以肯定是相同的类型,并且几乎可以肯定永远不会变得不相同。
如果你在哪里使用了一些被称为的东西DWORD16
,DWORD64
无论出于什么原因,这个名字DWORD32
都适合,或者如果你出于其他原因真的想强调你的类型中的位数DWORD32
,那么这种类型可能是一个更好的主意。否则,选择一个,使用它,然后忽略另一个。
于 2013-05-28T14:34:12.987 回答
1
它们是相同的。DWORD
为向后兼容数十年的遗留代码而维护,并且始终为 32 位。DWORD32
是相同的数据类型,只是明确指出它是 32 位的。与更新 API 以支持 64 位开发时同时引入并被DWORD32
引入DWORD64
。DWORD_PTR
于 2013-05-28T14:50:19.090 回答