今天看libevent源码的时候,看到struct evmap_io结构体,改结构体内容如下:

struct evmap_io {struct event_dlist events;ev_uint16_t nread;ev_uint16_t nwrite;ev_uint16_t nclose;
};

里面第一个类型是struct event_dlist,但是用sourceinsight看代码时看不到该结构体的定义,后来百度谷歌也都没发现原因。没办法,全局找了一下,最后发现有这么个定义,

LIST_HEAD (event_dlist, event); 

然后追了下LIST_HEAD的宏定义,

#define LIST_HEAD(name, type)                        \
struct name {                               \struct type *lh_first;  /* first element */            \}

这才搞明白原来是在这里定义的。

感觉libevent用了太多的宏了,源码看起来有点费劲。

event_dlist相关推荐

  1. error: macro LIST_HEAD passed 2 arguments, but takes just 1

    新项目把libevent-2.1.11-stable移植到mt7620的Openwrt上,移植完编译的时候遇到一个报错 In file included from /usr/local/include ...

  2. Libevent 源码学习笔记(1)event 与 event_base

    目录 event event_base eventop evcb_closure event_callback event_changelist evsig_info event_io_map eve ...

最新文章

  1. oracle 日期 extract,ORACLE——EXTRACT() 截取日期时间的函数使用
  2. Python学习札记(二十) 函数式编程1 介绍 高阶函数介绍
  3. Codeforces Round #528 (Div. 2) - D. Minimum Diameter Tree
  4. 面试和人生目标(转)
  5. SAP CRM One Order status drop down list generation
  6. linux中win文件转为unix,如何将文本文件从Windows转换为Unix
  7. google浏览器 隐藏功能开启
  8. 野火IMJAVA开发的即时通讯系统源码
  9. 没有对比就没有伤害,优秀的代码VS糟糕的代码
  10. 排序算法——鸡尾酒排序
  11. unity黑白滤镜_unity图像优化美化滤镜渲染插件Beautify 6.2.7
  12. C语言习题:编程序将”China”译成密码[C语言]
  13. 【JVM技术专题】深入分析CG管理和原理查缺补漏「番外篇」
  14. IEC101召唤过程
  15. 六十甲子日吉凶时辰对照表
  16. linux 防火墙的配置
  17. JS小练习:使用JavaScript实现点击‘上一张’,‘下一张’循环播放图片
  18. chrome tv版_软件推荐TV版APP:影迷大院1.0TV纯净版
  19. spark livy
  20. Outlook默认接收地址修改

热门文章

  1. CAD多线怎么修剪多余部分?CAD多线修剪步骤
  2. Labview汽车齿轮齿条转向器疲劳试验台项目源码
  3. 基于flowable的upp(统一流程平台)运行性能优化(1)
  4. 巨量广告定向系统推荐和莱卡谁更能跑大量
  5. eap方法 华为手机怎么连wifi_如何以编程方式在Android中安装CA证书(用于EAP WiFi配置)?...
  6. 戴尔r720服务器装系统
  7. 佛山“禅城区智能卡云”入选国家示范项目
  8. Js onclick用法:跳转到指定URL
  9. 数控计算机键面英语怎么认,数控技术常用术语中英文对照
  10. 【漫画】996 ?你以为我是铁打的