gpt4 book ai didi

c++ - 我可以使用 %p 说明符输出 Windows 句柄吗?

转载 作者:行者123 更新时间:2023-12-02 02:24:33 34 4
gpt4 key购买 nike

这是 this question 的后续行动。 Windows SDK 具有在 WinNT.h 中定义的 HANDLE 数据类型,如下所示:

typedef void *HANDLE;

该数据类型用于表示句柄。从技术上讲,句柄不是指针 - 它是只能与 Win32 函数一起使用的神奇值。然而它被声明为用 void* typedef 的数据类型来表示。

如果我想用以下代码输出句柄十六进制值:

HANDLE handle = ...;
printf("%p", handle);

这合法吗?

最佳答案

是的,没关系,有两个原因。首先它实际上是一个指针(指向 void 的指针),其次 %p 不会神奇地检查堆栈上的值是否是一个指针 - 它只是获取下一个指针大小的值并将其打印出来。

关于c++ - 我可以使用 %p 说明符输出 Windows 句柄吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11719489/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com