什么是句柄

什么是句柄

句柄实际上是一个数据,是一个 Long ( 整长型 ) 的数据。句柄是 WONDOWS 用来标识被应用程序所建立或使用的对象的唯一整数, WINDOWS 使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图, GDI 对象等等
 

为什么要使用句柄

Windows 是一个以虚拟内存为基础的操作系统。在这种系统环境下, Windows 内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。如果地址总是如此变化,我们该到哪里去找该对象呢 ?
为了解决这个问题, Windows 操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址 ( 存储单元的位置 ) 本身是不变的
Windows 内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。这个地址是在对象装载 (Load) 时由系统分配给的,当系统卸载时 (Unload) 又释放给系统。
总结: 上面的话来说 ,windows 操作系统在内存中开辟一块固定不变的内存地址空间,做为句柄,来存放那些由于内存不足而从内存中换入换出的对象所对应的地址空间。有点类似指针了,呵呵。
操作过程类似这样:
句柄地址 ( 稳定 ) →记载着对象在内存中的地址────→对象在内存中的地址 ( 不稳定 ) →实际对象
 
 
参考资料:http://jellyfish.blogbus.com/logs/2004/08/319589.html

你可能感兴趣的:(职场,句柄,休闲)