我在 C 中有一个返回类型为 DWORD
的线程,但它随后由 HANDLE
类型指针处理。
这两种类型有什么区别?
我专门为 ANSI C 问这个问题。
没错,DWORD
是uint
类型,HANDLE
是PVOID
,C允许直接强制转换DWORD
到 HANDLE
。但是这些类型有什么不同吗?或者我可以简单地说它们是一样的吗?
这是一个在讨论中被问到的问题。我想知道正确答案是什么。
最佳答案
Win32:
- DWORD 32 位无符号长型
- HANDLE void *(32 位指针)
Win64
- DWORD 32 位无符号长型
- HANDLE void *(64 位指针)
不要只是假设你可以将一个转换为另一个。它适用于 Win32 并在您将其移植到 Win64 时中断。
关于c - C中的DWORD和HANDLE类型有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2431978/