现在的位置: 首页 > 综合 > 正文

指针和句柄的区别和联系理解

2018年04月30日 ⁄ 综合 ⁄ 共 435字 ⁄ 字号 评论关闭

区别:

         句柄是一个32bit的无符号整数,实际上是windows在内存中维护的一个对象,是内存物理地址列表的索引。因为windows内存管理经常会将当前空闲对象的内存释放掉,当需要访问时再重新加载到物理内存,所以对象的物理地址是变化的,不允许直接通过物理地址来访问对象。程序将想访问的对象的句柄传递给系统,系统就可以根据句柄检索自己维护的对象列表就能知道程序想访问的对象及其物理地址。(因为windows是以虚拟内存为基础的操作系统,windows内存管理器经常在内存中来回移动对象,以满足各种应用程序的需要,对象被移动即意味着物理地址是变的)

联系:

      其实句柄和指针是两个截然不同的概念。如果说是有联系的话,就只能说:句柄可以理解为指向指针的指针(地址的索引)。在32bit机上,都是一个32位的整数。

     句柄和指针是两个完全不同的概念。windows系统利用句柄标记系统资源,隐藏系统信息。只要获得某个句柄,然后去调用就可以了。指针标记某个物理内存地址。

抱歉!评论已关闭.