所以我想知道HANDLE的尺寸.有人知道HANDLE的大小吗?
解决方法 Windows HANDLE类型不是完全不透明的类型. windows定义了一些您可以依赖的属性.主要问题是你的问题的答案:它总是类型为voID *.从MSDN上的 Windows Data Types条目:HANDLE
A handle to an object.
This type is declared in WinNT.h as follows:
typedef PVOID HANDLE;
在表格的后面,您可以看到PVOID
被定义为voID *.
所以HANDLE与voID *的大小相同.或者换句话说,使用32位编译器时为32位,使用64位编译器时为64位.您不需要在代码中硬编码这些值,而只需使用sizeof(HANDLE).
windows HANDLE类型的另一个属性非常模糊,几乎没有记录:对于内核句柄the bottom two bits are always zero.您不需要在代码中依赖于此,并希望您可以看到您永远不会想要的.我提到这一点是为了完整性,并强调微软如何定义HANDLE不仅仅是一个内部实现细节.
总结以上是内存溢出为你收集整理的c – 手柄的尺寸是多少?全部内容,希望文章能够帮你解决c – 手柄的尺寸是多少?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)