(三)句柄与指针

0 阅读1分钟

句柄与指针,是什么

指针到底是什么? 存储变量地址的变量。 C语言: int * pAge=malloc(sizeof(int));

C++: int * pAgeCPP=new int;

pAge和pAgeCPP是栈上面的变量。

image.png

句柄是什么? 对底层硬件实例的指针的引用。 每个进程有内核维护的专属句柄表,表中存储「句柄索引 → 内核对象」的映射;进程通过句柄访问内核对象,再由内核对象通过驱动间接操作硬件,句柄表不直接关联硬件实例。

image.png

image.png

为什么要用句柄

是进程访问系统资源的“安全通行证/索引”,核心是为了隔离、权限控制和稳定,而不是为了省资源。