打印

谁讲讲‘句柄’这个东西应该怎么理解。。。

[复制链接]
4028|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yewuyi|  楼主 | 2008-11-12 17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
呵呵,不懂PC编程,看着吃力。。。

怎么看着像个指针?
沙发
yewuyi|  楼主 | 2008-11-12 17:15 | 只看该作者

买了本书,通书多处出现这个名词。。。

晕,看不明白,GOOGLE一下似乎是PC下的东西,更晕,不懂VC、VB,哈哈,还没听说VA。。。

哪位来个通俗点的讲解?

使用特权

评论回复
板凳
香水城| | 2008-11-12 17:58 | 只看该作者

句柄的英文原文为Handle

说白了就是要访问对象的指针。

使用特权

评论回复
地板
computer00| | 2008-11-12 19:28 | 只看该作者

句柄是资源的标识,通过它可以访问到打开的资源。

你可以把它当作一个指针。

使用特权

评论回复
5
yewuyi|  楼主 | 2008-11-12 21:02 | 只看该作者

忽忽,原来真类似一个指针啊。。。

使用特权

评论回复
6
香水城| | 2008-11-12 22:09 | 只看该作者

很多时候‘句柄’确实是个指针,但也可以使任何东西

只要能通过‘句柄’找到你要找的数据实体即可,比如我喜欢用某个数据结构体数组的下标作为句柄返回给上层调用程序。

使用特权

评论回复
7
computer00| | 2008-11-12 22:54 | 只看该作者

其实就是一个整数来着。

使用特权

评论回复
8
djyos| | 2008-11-13 14:42 | 只看该作者

可以理解成索引,或者引用

由于C语言中实现引用最方便的是指针,故句柄在绝大多数时候就是一个指针,或者一个数组元素的偏移量。但从来没有人规定句柄必须是指针,只要能被索引的解释程序理解并找到被索引的资源就可以了。

使用特权

评论回复
9
pheavecn| | 2008-11-13 14:46 | 只看该作者

一个索引值,在早期windows里是16位整数。

与指针概念不一样的。

使用特权

评论回复
10
hotyong| | 2008-11-13 15:29 | 只看该作者

到于是不是指针不重要,重要的是应用

使用特权

评论回复
11
hjiongh| | 2008-11-13 15:49 | 只看该作者

你可以这么理解

在linux中,句柄可以是一个设备的描述符,比如1代表ttys0, 那可以认为如果我要操作ttys0,操作函数里面操作对象就用句柄1代替即可。

使用特权

评论回复
12
yewuyi|  楼主 | 2008-11-13 17:06 | 只看该作者

那按照LS的说法,如果这个1又代表了别的含义如何区分?

使用特权

评论回复
13
hjiongh| | 2008-11-13 17:16 | 只看该作者

举例:

如果我现在只打开一个ttys0,可能读出来的句柄是1,
如果我现在打开两个ttys, ttys0,ttys1, 那ttys0读出来的句柄可能是4,可能是5,ttys1可能是6,可能是7

在线情况下,不可能两个设备的句柄是重复的

使用特权

评论回复
14
lixun00| | 2008-11-13 17:34 | 只看该作者

是个索引,在VC里HANDLE应该是个指针

使用特权

评论回复
15
dengm| | 2008-11-13 18:03 | 只看该作者

HANDLE 是一个 无符号integer ID, windows os 会管理的

使用特权

评论回复
16
王紫豪| | 2008-11-13 19:25 | 只看该作者

re

字典里解释,柄:容器的把儿。

姑且把盛放资源的容器比作一个大马勺,马勺里可以盛很多东西(资源),假如你家有很多马勺,马勺里放很多东西(资源)。如果你要找到某一样东西(资源),只需要找到相关马勺的把儿端起来即可。

使用特权

评论回复
17
McuPlayer| | 2008-11-14 11:47 | 只看该作者

我原来一个同事一直翻译成把手

讨论问题时候经常说“这丫的把手居然是NULL的”

使用特权

评论回复
18
xwj| | 2008-11-14 11:52 | 只看该作者

呵呵,偶把它当成把柄

有了把柄,就不怕抓不住它

使用特权

评论回复
19
李冬发| | 2008-11-14 12:17 | 只看该作者

功能象指针,不过真的不是指针,仅是个标识

使用特权

评论回复
20
athlon64fx| | 2008-11-14 12:45 | 只看该作者

还是英文好理解!

handle多么简单明了?非要说什么“句柄”!
建议高科技的玩意不要用汉语说!
不严谨而且表达理解起来都比较困难。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1416

主题

20007

帖子

232

粉丝