在linux下使用HANDLE要包含哪个头文件

在linux下使用HANDLE要包含哪个头文件,第1张

linux下没有原生定义HANDLE,需要你自己定义

最直接的解决办法,从windows抄过来:

typedef void *HANDLE

当然你也可以自己定义,比如说:

typedef int HANDLE

不同的定义方法,在具体的使用上就要自己注意了。

VC 中的句柄 HANDLE 其实是一个 void * 类型。像 C 语言中的 FILE 一样,它是个结构体,FILE * 其实是一个结构体地址类型。句柄在 Windows 系统中类似于指针,它就是个指针类型,但是又和指针不同。比如分配一块可移动的内存,你可以得到一个固定的句柄,但是这块内存的指针是不固定的。句柄还有其他很多种,都是通过 HANDLE 定义而来的。在 Windows 编程中,句柄代表系统中唯一一个对象,比如文件句柄、图标句柄、字体句柄、位图句柄、画刷句柄、设备环境句柄、应用程序模块句柄、进程句柄、窗口句柄等。由于 Windows 是封闭的,微软提供很多现成的函数(Windows API),句柄就是访问这类对象的一个 "指针",通过句柄才能访问这些对象。

HANDLE 类型在 Windows SDK 头文件定义如下:

typedef void *PVOID

typedef PVOID HANDLE//文件句柄、进程句柄等

typedef HANDLE HICON//图标句柄

typedef HANDLE HFONT//字体句柄

typedef HANDLE HBITMAP//位图句柄

typedef HANDLE HBRUSH//画刷句柄

typedef HANDLE HDC//设备环境句柄

typedef HANDLE HMODULE//模块句柄

typedef HANDLE HWND//窗口句柄

还有很多其他的句柄类型。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6049075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-12
下一篇 2023-03-12

发表评论

登录后才能评论

评论列表(0条)

保存