根据Windows Data Type的说法,除了IntSafe.h之外,DWORD和DWORD32都是“32位无符号整数”,而另一个是在BaseTsd.h中定义的。使用一种比另一种有什么区别或优势呢?
发布于 2013-05-28 22:34:13
Windows API充满了几十年的C #define和typedef碎片。
你看到的就是一些碎片。也许在某种程度上,他们会考虑让DWORD的尺寸变得更大,而DWORD32不会。
但这种希望早已破灭。它们几乎肯定是相同的类型,并且几乎可以肯定永远不会变成不相同的类型。
如果您出于某种原因使用了名为DWORD16和DWORD64的东西,那么DWORD32这个名称就合适了,或者如果您出于其他原因真的想要强调DWORD32类型中的位数,那么该类型可能是一个更好的主意。否则,选择一个,使用它,忽略另一个。
发布于 2013-05-28 22:50:19
它们是相同的。DWORD的维护是为了向后兼容数十年的遗留代码,并且始终是32位的。DWORD32是相同的数据类型,只是显式地指出它是32位的。DWORD32是与DWORD64和DWORD_PTR同时引入的,当时API正在更新以支持64位开发。
https://stackoverflow.com/questions/16794177
复制相似问题