摘要: http://blog.chinaunix.net/uid-17299695-id-3059078.htmlPS:Select和Poll都是水平触发,epoll默认也是水平触发ET模式仅当状态发生变化的时候才获得通知,这里所谓的状态的变化并不包括缓冲区中还有未处理的数据,也就是说,如果要采用ET模式... 阅读全文
posted @ 2015-02-16 15:13 枪侠 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 1. 查看内存分布 (gdb) info proc mappings2. 对于类的调试,先通过行号来设断点, 比如:(gdb) b TcpConnection.cc:633. 打印数组的内容 (gdb) p *array@len4. 查看全局变量的地址,比如info line 5. 使用十六进制逐个... 阅读全文
posted @ 2015-02-16 14:36 枪侠 阅读(1110) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/yvesliao/p/3938730.htmlPS: 使用单向依赖正在看google c++编程规范,里面对头文件依赖是这么说的:1234567891011使用前置声明(forward declarations)尽量减少.h文件中#include的数量。... 阅读全文
posted @ 2015-02-16 10:56 枪侠 阅读(236) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_5ff2a8a201011ro8.htmlgcc/g++ 在执行编译时,需要4步 1.预处理,生成.i的文件[使用-E参数] 2.将预处理后的文件不转换成汇编语言,生成文件.s[使用-S参数] 3.有汇编变为目标代码(机器代码)生成... 阅读全文
posted @ 2015-02-16 10:26 枪侠 阅读(1180) 评论(0) 推荐(1) 编辑
摘要: http://www.cnblogs.com/Braveliu/archive/2013/08/27/3285908.html【1】什么是值语义?所谓值语义是指目标对象由源对象拷贝生成,且生成后与源对象完全无关,彼此独立存在,改变互不影响。就像 int 类型变量相互拷贝一样。C++的内置类型(boo... 阅读全文
posted @ 2015-02-16 10:19 枪侠 阅读(265) 评论(0) 推荐(0) 编辑
摘要: http://www.wuzesheng.com/?p=1668条件变量(Condtion Variable)是在多线程程序中用来实现“等待->唤醒”逻辑常用的方法。举个简单的例子,应用程序A中包含两个线程t1和t2。t1需要在 bool变量test_cond为true时才能继续执行,而test_c... 阅读全文
posted @ 2015-02-15 16:17 枪侠 阅读(6443) 评论(0) 推荐(2) 编辑
摘要: 1. Event Loop作为一个IO线程,通过IO复用来处理事件2. 为了保证线程安全,任何需要修改IO线程资源的工作都交给IO线程亲自来做3. 为了IO线程与其他线程互调,需要设计一个eventfd让其他线程把自己的请求通过socket告知IO线程4. 通过timerfd可以方便地把回调的tim... 阅读全文
posted @ 2015-02-15 15:33 枪侠 阅读(238) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/gdutliuyun827/article/details/8460417三种新的fd加入linux内核的的版本:signalfd:2.6.22timerfd:2.6.25eventfd:2.6.22三种fd的意义:signalfd:传统的处理信号的方式是注... 阅读全文
posted @ 2015-02-15 15:21 枪侠 阅读(728) 评论(0) 推荐(1) 编辑
摘要: http://www.cnblogs.com/cobbliu/archive/2012/05/21/2512249.htmlPS:lower_bound of value 就是最后一个 value的位置lower_bound的意思是一段相等的序列的头(闭)和尾(开)的位置STL中关于二分查找的函数... 阅读全文
posted @ 2015-02-15 14:17 枪侠 阅读(513) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/xkfz007/articles/2506022.html什么是临时对象? C++真正的临时对象是不可见的匿名对象,不会出现在你的源码中,但是程序在运行时确实生成了这样的对象.通常出现在以下两种情况:(1)为了使函数调用成功而进行隐式类型转换的时候。 传... 阅读全文
posted @ 2015-02-15 13:56 枪侠 阅读(214) 评论(0) 推荐(0) 编辑