zoukankan      html  css  js  c++  java
  • 句柄handle c++

      1、句柄是什么?

      在windows中,句柄是和对象一一对应的32为无符号整数值。对象可以映射到唯一的句柄,句柄也可以以映射到唯一的对象。

      2、为什么我们现在需要句柄?

      windows需要向程序员提供必要的编程接口,在这些编程接口中,允许程序员访问、创建和销毁对象。但是,出于封装性考虑,windows并不想向coder返回指针。指针包含了太多的信息。首相,指针给出了对象存储的exact adds;其次,要操作一个指针,coder必须知道指针所指对象的内部结构特征,that's to say,windows必须向程序员暴露相应的数据结构,而这些数据结构也许是操作系统对coder隐藏的。

      如果说COM技术向coder隐藏了数据,只暴露了接口并只允许按接口定义的方法操作数据的话,handle这种方式则允许你按自己的方式直接操作数据,but,windows有不向你直接暴露数据结构。直接操作数据是程序猿需要的,不暴露数据是windows所需要的。

      句柄封装方式实现了各自所需。

      3、句柄如何与对象映射?

      封装别后,必须有一个地方可以实现解码,以实现句柄和对象的相互转换。在windows中,存在两种映射方式:

      a/ 全等映射  句柄本身就是一个pointer,映射在这里只是 类型转换。进程实例句柄、模块句柄、资源句柄

      b/ 基于表哥的映射 这是对象pointer与句柄之间 the most normal映射机制。操作系统创建表格,并保存所有要考虑的对象。需要穿件新对象是,要先在表格中找到空入口,然后把表示对象的数据填入其中。当对象被删除是,他的数据成员和其在表中的入口被释放。

      4、

    不要说话
  • 相关阅读:
    Jvascript方法
    Java高效读取大文件(转)
    RandomAccessFile实时读取大文件(转)
    Java中的逆变与协变 专题
    Docker系列之(一):10分钟玩转Docker(转)
    Redis系列之(一):10分钟玩转Redis(转)
    BDB (Berkeley DB)数据库简单介绍(转载)
    JAVA的extends使用方法
    计算机视觉领域的一些牛人博客,超有实力的研究机构等的站点链接
    中国大推力矢量发动机WS15 跨入 世界先进水平!
  • 原文地址:https://www.cnblogs.com/sxudk/p/3793451.html
Copyright © 2011-2022 走看看