什么是句柄 5

别用术语解释,用最通俗的话说下,最好举列说下。谢谢。会C和C++用这两种语言的术语可以。... 别用术语解释,用最通俗的话说下,最好举列说下。谢谢。会C 和C++ 用这两种语言的术语可以。 展开
 我来答
四舍五不入6
高粉答主

2019-11-17 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71368

向TA提问 私信TA
展开全部

句柄就是个数字,一般和当前系统下的整数的位数一样,比如32bit系统下就是4个字节。

这个数字是一个对象的唯一标示,和对象一一对应。

这个对象可以是一个块内存,一个资源,或者一个服务的context(如 socket,thread)等等。

这个数字的来源可以有很多中,只要能保证和它代表的对象保持唯一对应就可以,比如可以用内存地址,也可以用句柄表的序号,或者干脆用一个自增ID,再或者用以上的值去异或一个常数。

扩展资料:

windows 之所以要设立句柄,根本上源于内存管理机制的问题—虚拟地址,简而言之数据的地址需要变动,变动以后就需要有人来记录管理变动,(就好像户籍管理一样),因此系统用句柄来记载数据地址的变更。

传统上操作系统内核和系统服务API都是 C 语言接口的,但是其内部设计理念上又是OO的,所以有对象概念却没有对应的语言语法支持。

句柄的作用就是在 C 语言环境下代替 C++ 的对象指针来用的,创建句柄就是构造,销毁句柄就是析构,用句柄调用函数相当于传入this指针。

如果有系统API是 C++ 接口的,那么就没有句柄了,而是某个接口指针,IXXXPtr之类的,比如Windows的com ptr。

参考资料来源:百度百科-句柄

cninca
推荐于2018-04-13 · TA获得超过366个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:171万
展开全部
句柄,是系统程序对数据定义的标识,通常是一个整数。

系统程序和用户程序需要进行数据交换,为了避免传递大量数据,尤其是不希望用户直接操作数据,系统使用一个数字来表示这组数据(例如与一个窗口相关的一组数据)。用户程序如果需要对数据进行修改,都只能通过系统程序提供的函数以及数据的句柄和相关参数来完成。

系统程序很可能使用数据的地址作为句柄,但这仅仅是可能,完全取决于定义句柄的程序。

希望解释清楚了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
声珈蓝云bL
2012-11-27 · TA获得超过503个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:168万
展开全部
WINDOWS每打开一个窗口(包含程序运行时的窗口),以及每个窗口内的控件(按扭,输入框等)都会随机分配一个号码,这个号码就是这一窗口或控件的句柄
例如:我此刻回复你的浏览器的窗口句柄是69010.当然这个句柄号在我电脑里是69010.在你电脑里又会是另一个号,而且当我将这个窗口关掉再打开,句柄号又会再变成另一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2021-01-06 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式