电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> C++/VC>>什么叫句柄以及程序员对于句柄的说法!:

什么叫句柄以及程序员对于句柄的说法!

来源:远方网络 | 2005-5-17 18:34:17 | (有10310人读过)

句柄实际上是一种指向某种资源的指针,但与指针又有所不同。
  “句柄”(handle),handle的本意是把柄,把手的意思。是你与操作系统打交道的东东。举个通俗的例子,比如你考上了大学,入学后,学校(操作系统)会给你一个学生证号。注意,这个号码是学校指定的,你无法自选。有了这个号码(学生证,假设一证多用)就可以享受学校提供的服务:如你就可以去图书馆借书,去食堂吃饭,去教室上课等等。但你不能到食堂里买啤酒,因为学校不允许这种服务。而在计算机中系统提供的服务就是API调用,你有了HANDLE,就可以理直气壮地向系统提出调用API的服务。而指针的权力就大多了,有了指针你可以到处去喝酒,打架,学校(操作系统)管不着,所以句柄和指针的区别在于句柄只能调用系统提供的服务。而句柄虽然是一个能相互区别的号码,但与我们普通的ID号又有区别,普通的ID号是可以由程序员自己定义的,而句柄不行,它是对象生成时系统指定的,是为了区别系统中存在的各个对象,这个句柄不是由程序员符给的。实际应用中,最常用的就是文件句柄和窗口句柄。例如,窗口句柄的值是一个长整数,每个窗体都用一个句柄来表示。所以句柄是不会重复的,很多的函数都会用到窗体的句柄。
===================================================================

-- 作者:eym
-- 发布时间:2004-1-27 11:21:18

--
扫帚用过吗? 用扫帚扫地的时候要握住扫帚柄吧,,, 程序也一样,, 你象对程序进行必要的操作就要掌握住程序\'句柄\'
这是我自己的解释,,书上都有的,你可以看看权威们是怎么说的
--------------------------------------------------------------------------------

-- 作者:apple
-- 发布时间:2004-1-27 11:35:19

--
好比夏天天气很热,你用扇子扇风的时候就要握住扇丙就可以控制整个扇子,同一个道理,你只要掌握好系统的句丙就可以掌握住程序
--------------------------------------------------------------------------------

-- 作者:游侠无极限
-- 发布时间:2004-1-27 15:37:08

--
我自己的理解是:句柄相当于一个物件的名字(ID),具有唯一性,也有点像IP
--------------------------------------------------------------------------------

-- 作者:NICO
-- 发布时间:2004-1-27 20:27:26

--
句柄 一般和资源 对应
可以把它理解成 指针 只不过指针是指向 某个类 或结构 等这些东西

--------------------------------------------------------------------------------

-- 作者:dongdong007
-- 发布时间:2004-1-27 22:24:51

--
大家能举个例子说明一下么?
--------------------------------------------------------------------------------

-- 作者:曾半仙
-- 发布时间:2004-1-29 0:36:38

--
句柄是windows对资源(窗口/控件/画笔)的编号.
本身不具备意义,一般只用来参数传递,
最终还是由Windows自行使用.
例如你使用CreateSolidBrush创建一个画刷,windows在其内部开辟资源(内存/链表/时间片等东西),且给这个画刷一个句柄,你利用他画图的时候,是将其具备作为参数传给windows,windows再根据你的参数自行实现画刷的功能
--------------------------------------------------------------------------------

-- 作者:wowocock
-- 发布时间:2004-1-29 14:34:39

--
句柄相当于指针,但由于在用户层是不能操纵系统内核的,所以通过句柄这个间接指针来引用对象,其实就是内核句柄表索引,所以只在当前的进程有效,如果切换了进程,那么就没有意义了,因为已经不是原来的那个表格了,在RING3一切都显得那么的限制,无奈。。。。。。
--------------------------------------------------------------------------------

-- 作者:NICO
-- 发布时间:2004-2-12 23:37:17

--
让句丙可以继承 生成子进程
句丙在子进程照样有效 无奈什么
--------------------------------------------------------------------------------

-- 作者:masm8086
-- 发布时间:2004-2-13 12:27:45

-- 什么叫'句柄'?
用windows中的资源时都要先取得它的句柄
句柄就是资源的 指针吧,我是菜鸟,瞎说!
--------------------------------------------------------------------------------

-- 作者:leeon
-- 发布时间:2004-2-13 12:42:32

--
请查阅Msdn以及基础书籍。查阅置顶的FAQ列表和有意义的连接。

这里不讨论基础问题,谢谢。

==============================================
C++/VC热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号