- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 命名空间
std标准命名空间 标准命名空间是c++委员会维护的一个空间,我们不可以加入模板类,否则有未定义行为。但是我们可以对标准命名空间的类进行特化来完成一些需求。class myClass{xxx * p;}namespace std{template<>void swap<myclass> ( myclass & a , myclass &...
2018-04-28 11:06:15 90
原创 event源码
event对象所描述的实体文件信号超时 libevent所描述的对象也就是这三个文件、信号、超时。那么在event_add函数中,也会把相应的event结构体插入到相应的队列中。其中IO队列是方便当同一文件描述符就绪时,把该文件描述符相关的event第一时间找到,信号队列也一样也是为了当同一信号发生时把所有event找到,超时事件则由超时堆来管理。...
2018-04-21 21:10:02 143
原创 终究BUG字面值
字面值引发的bug 默认1的字面值类型是int , 3.14默认字面值类型是double 。那么今天在写代码的时候就遇到一个很难发现的bug。int64_t xxx;xxx = 1<<63; 这个时候,我们认为1<<63位,把1当作一个long int 的类型(默认指64位机器 ,32位下long 为4字节并非8字节 ),其实 1 默认是 int ...
2018-04-20 16:26:48 94
原创 Makefile的坑
一定要记住make clean列子a.out : main.o a.o g++ -o a.out main.o a.omain.o : main.cc g++ -c main.cc a.o : a.c g++ -c a.c.PHONY:cleanclean : rm -rf main.o a.o 这个坑是这样的,比如你先前生成...
2018-04-19 17:03:58 353
原创 用c++文件I/O
读取文件 之前读取从文件读取一行内容寻找分割符的时候自己实现不一定正确,而且代码过多。我们可以用c++ 的 istream来处理。#include&amp;amp;amp;lt;fstream&amp;amp;amp;gt;void ReadFile(const char * pathname){ std::ifstream iofile(pathname); std::string line; ...
2018-04-19 10:51:45 201
原创 event
概念 Libevent的基本操作单元就是event。每一个事件都代表一列情况: 1.文件描述符就绪 2.时间器就绪 3.信号就绪 4.用户事件就绪 这几个事件有相同的生命周期,一旦通过调用event_new 设置 event 并与 event_base相关联后,event 事件就会被初始化。初始化后,当我们使用这个event的时候,需要先把它注册到event_base中,通过even...
2018-04-17 18:23:51 372
原创 EventLoop
active 何为活跃就是事件就绪,如果事件就绪 event循坏会把该事件标志为就绪。可设置的event循坏 int event_base_loop(struct event_base *base, int flags)#define EVLOOP_ONCE 0x01 // 代表就循坏1次#define EVLOOP_NONBLOCK ...
2018-04-17 16:36:37 277
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人