源码
codingart
这个作者很懒,什么都没留下…
展开
-
boost {asio reactor}
学习了boost库。幸亏自己做过一个IOCP的框架,理解asio的设计还容易一些,虽然自己以前不知道这个就是reactor,。ACE也是实现的reactor,当时只接触过proactor的程序,看了半天也没看懂,明天再回过头学习下ACE,应该会好一些了。reactor是真正的异步,和IOCP的思路差不多,只不过用epoll,poll实现reactor就要做一些基础的工作了。说到底还是异步,异步原创 2010-02-05 22:23:00 · 1443 阅读 · 0 评论 -
googletest {console 字体颜色}
写服务器程序打印出来的文字都是没有颜色的,看起来不够醒目,尤其是日志。在googletest中发现这段代码,可以设置输出颜色,支持终端// Helpers for printing colored strings to stdout. Note that on Windows, we// cannot simply emit special characters and hav翻译 2010-01-08 04:29:00 · 1009 阅读 · 1 评论 -
googletest {全局变量的作用}
与static变量相比,全局变量的优势就是初始化的时刻更确定。googletest使用全局变量来注册每个test case。这样做的好处还有就是对框架的侵入最少,其他的方案或者是显式的注册,或者是通过Include的方式,这些都不如使用全局变量简洁有效干净。框架使用了很多宏来生成代码,使用的visiter模式很多。反正全局变量不是为了真的使用它,只是为了new一下,把变量名字处理的保证没有冲原创 2010-01-08 05:26:00 · 1313 阅读 · 0 评论 -
google sparsehash { hash table }
一种hash table的实现,为了在速度和空间上做一个均衡,内部还是数组的实现.迭代器是单独写的,里面加了自己的逻辑,我写过一个buffer也用了迭代器,感觉这种风格符合C++的风格,看起来舒服点。像一些manager的封装都可以用迭代器来引入stl的风格。 看到一块模板代码,做类型判断的,很简洁清晰,使用了继承,而不是单独的去typedef或者enum。 平台相关的文件的命原创 2010-01-10 10:03:00 · 946 阅读 · 0 评论