关于什么是文件句柄、窗口句柄以及应用程序的句柄…? “句柄”又该如何理解?什么是文件句柄、窗口句柄以及应用程序的句柄…? “句柄”究竟该如何理解?那为高手能用较通俗的语言帮忙解释解释? 谢谢了!的问题
怎样才算通俗,也不知道我下面说的是否通俗?
首先我人为,句柄不是指针(哪怕说是指针的指针,要知道指针包含了太多的信息),若说句柄含有指针的某些意思(或在某种模式情况下就是指针)似乎更好; 而把句柄当做一个人的名字,并”可以通过名字(句柄),实现对句子的引用和访问”,感觉这种比喻好象贴近,但问题是可能有许多人叫同一个名字,但句柄所以有意义正因为它具有唯一性,所以这种比喻也有问题,如果换个说法,说句柄是表示你的进程与外界的i/o连接,把它当作是一个连接的名字是不是更恰当些? 至于文件句柄么,记得曾有资料给出这样的解释(大意):它类似于门把手,有它你可找到“门”这个对象,就可以控制对象”门”了,但觉得把它类比于门把手似乎并不贴切,感觉象是直译句柄这个词的词意,我们知道,其实文件句柄是一个十六位长度的二进制代码(Windows95后为32位无符号整数),代表一个已被打开文件的通道号,借助于这个句柄,你的应用程序即可使用这个相应的句柄对文件进行随意存取操作,说白了文件句柄其实是一串代表着特殊含义的号码; 当然其实系统是用句柄与一些资源联系起来的,当由系统管理,动态分配给你应用程序的某些资源的代号,你就可以使用句柄访问相应的资源了,尤其在Windows系统中,有很多东东都使用句柄,如窗口,socket。
。。等资源都使用句柄来标识,于是也就有了窗口句柄。。。等之说。
上面罗嗦一堆,也不知说清没有,只是觉得以上表述,仍有不足,至于”句柄究竟该如何理解”,你可以简单的将句柄看成是使用层面和系统具体实现之间的一个中间体;。