gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:7951回复:21

windows编程中的句柄(handle)是什么意思

楼主#
更多 发布于:2005-01-28 12:50
句柄是一种指向指针的指针。我们知 道,所谓指针是一种内存地址。应用程序启动后

,组成这

个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地

址,

那么就可以随时用这个地址 访问对象。但是,如果您真的这样认为,那么您就大错特错

了。

我们知道,Windows是一 个以虚拟内存为基础的操作系统。在这种系统环境下,Window

s内存

管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动

意味着

它的地址变化 了。如果地址总是如此变化,我们该到哪里去找该对象呢?

为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,

用来专门 登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不

变的。

Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来

保存。

这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。

这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统



 。

句柄地址(稳定)→记载着对象在内存中的地址────→对象在内存中的地址(不稳定)

 →实际对象

但是,必须注意的是程序每次从新启动,系统不能保证分配给这个程序的句柄还是原来

的那个句柄,

而且绝大多数情况的确不一样的。假如我们把进入电影院看电影看成 是一个应用程序的

启动运行,

那么系统给应用程序分配的句柄总是不一样,这和每次电 影院售给我们的门票总是不同

的一个座位

是一样的道理。
喜欢0 评分0
GIS麦田守望者,期待与您交流。
whmwxhanshan123
路人甲
路人甲
  • 注册日期2006-06-17
  • 发帖数3108
  • QQ
  • 铜币6445枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-05-12 22:42
<img src="images/post/smile/dvbbs/em07.gif" />
举报 回复(0) 喜欢(0)     评分
gis-zj
路人甲
路人甲
  • 注册日期2007-04-17
  • 发帖数16
  • QQ
  • 铜币154枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-05-10 10:39
<img src="images/post/smile/dvbbs/em12.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
whmwxhanshan123
路人甲
路人甲
  • 注册日期2006-06-17
  • 发帖数3108
  • QQ
  • 铜币6445枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2007-04-24 21:45
<img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
zyl910
路人甲
路人甲
  • 注册日期2007-03-20
  • 发帖数1
  • QQ
  • 铜币107枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2007-04-23 09:49
<P>其实句柄的概念由来已久,只是大家平时没有注意而已</P>
<P>比如C标准函数fopen返回的FILE指针</P>
举报 回复(0) 喜欢(0)     评分
tyre
路人甲
路人甲
  • 注册日期2007-01-11
  • 发帖数6
  • QQ
  • 铜币122枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2007-03-18 11:55
谢谢~谢谢~<img src="images/post/smile/dvbbs/em04.gif" />
举报 回复(0) 喜欢(0)     评分
whmwxhanshan123
路人甲
路人甲
  • 注册日期2006-06-17
  • 发帖数3108
  • QQ
  • 铜币6445枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2007-01-25 20:47
<img src="images/post/smile/dvbbs/em07.gif" />
举报 回复(0) 喜欢(0)     评分
sunday119
路人甲
路人甲
  • 注册日期2006-11-09
  • 发帖数5
  • QQ
  • 铜币134枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2007-01-25 18:20
<P>深入浅出!</P>
举报 回复(0) 喜欢(0)     评分
jincheng76
路人甲
路人甲
  • 注册日期2006-07-19
  • 发帖数20
  • QQ
  • 铜币131枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2006-07-19 16:29
终于明白了!
举报 回复(0) 喜欢(0)     评分
jincheng76
路人甲
路人甲
  • 注册日期2006-07-19
  • 发帖数20
  • QQ
  • 铜币131枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2006-07-19 16:28
<img src="images/post/smile/dvbbs/em06.gif" />
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部