DWORD和DWORD32的区别

Difference between DWORD and DWORD32

本文关键字:区别 DWORD32 DWORD      更新时间:2023-10-16

根据Windows数据类型,DWORD和DWORD32都是" 32位无符号整数",除了IntSafe.h,另一个是在BaseTsd.h中定义的。使用其中一个有什么区别或者优势?

Windows api充满了几十年的#definetypedef碎片。

你现在看到的是一些碎片。也许在某种程度上,他们考虑过DWORD的大小缩放,而DWORD32则不会。

但是这个希望早就破灭了。它们几乎肯定是相同的类型,而且几乎肯定永远不会不相同。

如果你出于某种原因使用DWORD16DWORD64,那么DWORD32这个名字就合适了,或者如果你出于其他原因真的想强调DWORD32类型的位数,那么这个类型可能是一个更好的主意。否则,选择一个,使用它,忽略另一个。

它们是相同的。DWORD的维护是为了向后兼容几十年的遗留代码,并且始终是32位的。DWORD32是相同的数据类型,只是显式地表示它是32位。DWORD32是在DWORD64DWORD_PTR同时推出的,当时API正在更新以支持64位开发。