美文网首页
wifidog 认证Lighttpd1.4.20源码分析之bit

wifidog 认证Lighttpd1.4.20源码分析之bit

作者: 3c937c88e6c0 | 来源:发表于2015-04-15 10:35 被阅读29次

    使用一个比特位来表示一个事件的两种状态,即节省内存,又可以提高运行速度。在Lighttpd中,提供了一个bitset数据结构,用来管理使用一个比特位集合。

    在bitset.h中,比特位集合的数据结构定义如下:

    typedef struct

    {

    size_t *bits;

    size_t nbits;

    } bitset;

    bits指向一个size_t类型的数组,存放bit集合。size_t类型通常被定义成一个无符号的整型(int或long),其长度和具体的机器有关,这个读者可以查阅相关的资料。nbits记录bitset中bit为的个数。其图示如下:

    +-------------+

    | bitset结构    |

    +-------------+            +-----------------------------+

    |  bits          |  -------->          |  |  |  |  |  |  |  |  |  |  | | | | | |

    +-------------+            +-----------------------------+

    |  nbits = 10  |

    +-------------+

    为了提高运行的速度,对与bitset的主要操作都有四个宏来实现:

    各个宏的作用都在注释中说明,如下代码所示:

    ......本站只呈现部分内容,查看完整文章请到WiFiDog官网社区 http://www.wifidog.pro/2015/04/15/wifidog%E8%AE%A4%E8%AF%81lighttpd%E4%BD%8D%E9%9B%86%E5%90%88%E4%BD%BF%E7%94%A8.html,转载请注明出处

    相关文章

      网友评论

          本文标题:wifidog 认证Lighttpd1.4.20源码分析之bit

          本文链接:https://www.haomeiwen.com/subject/kgcsfttx.html