libevent源码深度剖析三——libevent基本使用场景和事件流程张亮1
前言学习源代码该从哪里入手?我觉得从程序的基本使用场景和代码的整体处理流程入手是个不错的方法,至少从个人的经验上讲,用此方法分析libevent是比较有效的。2
基本应用场景基本应用场景也是使用libevnet的基本流程...
分类:
其他好文 时间:
2014-05-14 08:56:20
阅读次数:
318
libevent源码深度剖析六——初见事件处理框架张亮前面已经对libevent的事件处理框架和event结构体做了描述,现在是时候剖析libevent对事件的详细处理流程了,本节将分析libevent的事件处理框架event_base和libevent注册、删除事件的具体流程,可结合前一节libe...
分类:
其他好文 时间:
2014-05-14 08:34:48
阅读次数:
377
libevent源码深度剖析一——序幕张亮1
前言Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少。写这一系列文章的用意在于,一则分享心得;二则对libevent代码和设计思想做系统的、更深层次的分析,写出来,也可供后来者参考。附带一句:Libevent是用c语...
分类:
其他好文 时间:
2014-05-14 08:19:31
阅读次数:
256
libevent源码深度剖析五——libevent的核心:事件event张亮对事件处理流程有了高层的认识后,本节将详细介绍libevent的核心结构event,以及libevent对event的管理。1
libevent的核心-event Libevent是基于事件驱动(event-driven)的...
分类:
其他好文 时间:
2014-05-14 07:31:13
阅读次数:
327
1 预处理1#define1.不能用 #define 定义注释,因为注释先于预处理被处理。2
.宏定义表达式1,注意展开后结合顺序,尽量多加括号2,常量定义时注意是否溢出1#define SEX_YEAR (60*60*24*365)UL3,注意空格2
#pragma#pragma message参...
分类:
其他好文 时间:
2014-05-04 11:48:14
阅读次数:
221
1,指针没有指向一块合法的区域1指针没有初始化12345678910111213#include #include struct aa{char
*pa;char c;}ssa,*ssb;void main(){strcpy(ssa.pa,"abc");printf("%s \n",ssa.pa);...
分类:
其他好文 时间:
2014-05-04 11:38:09
阅读次数:
278
函数的编码风格1.注释2,空行3,缩进4,参数长度,代码长度,语句长度要合适。5,少用全局变量6,指针仅作输入参数时,可用const
设置其为只读属性,避免其在函数中被修改。7,函数默认的输入输出参数为int
类型,无输入参数或输出参数时要注意用void8,入口参数进行断言检验来自为知笔记(Wiz)
分类:
其他好文 时间:
2014-05-04 11:10:26
阅读次数:
300
1.registerregister变量必须是能被CPU寄存器所接受的类型(32位机器寄存器为32位),必须是单个的值,长度小于或等于整形的长度不能用&来获取register变量的地址。2staticstatic在代码块外或函数声明用于更改标识符的链接属性static在代码块内的变量定义用于更改存储...
分类:
其他好文 时间:
2014-05-03 23:34:28
阅读次数:
318
1 while 等循环语句1 break 和 continue的去别2
将短的循环写在外面,长的写在里面;3 循环嵌套尽量短2 voidvoid *p,为空指针类型,可以指向任何的类型若函数不接受参数,应写明 void,3
return1234567891011121314#include int ...
分类:
其他好文 时间:
2014-05-03 23:17:33
阅读次数:
368
1 typedef 和 define
的区别#define是简单的替换;typedef是别名!12#define pchar char *pchar a,b;//展开后 char
*a,b;a为指针,b不是12typedef char* pchar;pchar a,b;//a b均为指针2.注释3接...
分类:
其他好文 时间:
2014-05-03 22:48:35
阅读次数:
401