Libgod | 致力于高并发服务端开发..
摘要: 可在线制作艺术签名。目前托管在新浪云上,地址:http://godsignature.sinaapp.com 示例: 阅读全文
posted @ 2015-02-12 11:33 libGod 阅读(276) 评论(1) 推荐(0) 编辑
摘要: vim_config一款非常好用的vim配置,集成常用的插件,精美的配色,使用方法简单。如果你是一个vim新手,vim_config正适合你。如果你是vim高手,但又讨厌复杂的vim配置,vim_config同样适合你。 常用快捷键 一键退出 关闭当前文件 显示或取消显示对齐线 ... 阅读全文
posted @ 2015-01-26 13:58 libGod 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 本文来源于libGod官网http://www.libgod.com,转载请注明来源C++实现的Tuple类,非常好用,新老编译器都支持。在编译器支持可变模版参数的情况下,这个Tuple支持任意多成员,不支持的情况下,支持的成员是有限的,现在只支持3个成员,需要支持跟多成员,也可以轻松扩展下。有码有真相:#include#includeusingnamespacestd;#ifdef__GXX_EXPERIMENTAL_CXX0X__templatestructTuple;templatestructTuple{};templatestructTuple:publicTuple{Tuple() 阅读全文
posted @ 2013-11-27 10:13 libGod 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 本文来源于libGod官网http://www.libgod.com,转载请注明来源UUID,即通用唯一识别码,产生的随机数据重复概率几乎为零,平时写程序的时候还是会用到,所以封装了一下,使用起来更简单了。头文件:namespaceGod{structUuid{public:DEFINE_PTR(Uuid);typedefuint16_tsize_type;enum{UUID_LENGTH=sizeof(uuid_t),};public:Uuid(boolempty=false){reset(empty);}Uuid(constbyte_t*data,size_typelen){reset(d 阅读全文
posted @ 2013-11-27 10:08 libGod 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 在游戏中有时会遇到这样一种情况,某客户端发了个请求到服务端,但收不到服务端回复,看服务端的log,也没任何错误,最后调试跟踪代码,发现代码死锁了。遇到这种情况比较纠结,于是捣腾了一个自动检测死锁的功能,如果发生死锁,会马上打印堆栈信息,并终止程序,如果是在调试环境中,会自动断点到发生死锁的地方。实现 阅读全文
posted @ 2013-11-27 10:06 libGod 阅读(953) 评论(0) 推荐(0) 编辑
摘要: 本文来源于libGod官网http://www.libgod.com,转载请注明来源God一直致力于研究高并发服务端的开发,这次要优化的是libGod库中的线程本地存储变量,线程本地存储变量访问非常频繁,优化后库的性能应该会提高不少。已知的线程本地存储方法有boost中的thread_specific_ptr类,gcc中的__thread关键字,pthread中的pthread_getspecific函数。这次测试这3中本地存储以及普通变量之间的性能差别,代码如下:#include#include#include#include#includeusingnamespacestd; classC 阅读全文
posted @ 2013-11-27 10:02 libGod 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 本文来源于libGod官网http://www.libgod.com,转载请注明来源boost中有个multi_index_container,感觉比较好用,但不知道性能怎么样。今天特意测试了下他的插入,查找,删除的性能。测试代码:#include#include#include#include#include#include#include#include#include#include#include"god/types.h"#include"god/util.h"#include"god/performance_counter.h&quo 阅读全文
posted @ 2013-08-02 09:26 libGod 阅读(1143) 评论(0) 推荐(0) 编辑
摘要: 本文来源于libGod官网http://www.libgod.com,转载请注明来源在服务端开发,特别是游戏服务端开发过程中,定时器必不可少,而且用得非常多。看网上有的人是直接在线程的loop中每次都对定时器进行检测,例如:voidloop(){while(running){//DosameworkTimertimer=getTopTimer();while(timer->timedg();timer=getTopTimer();}//Dosamework}}这样做每次循环都会检测定时器,浪费CPU,而且定时器精确性不高。现在Linux下有了新的实现定时器的方案,使用timerfd,它将 阅读全文
posted @ 2013-08-02 09:23 libGod 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 本文来源于libGod官网http://www.libgod.com,转载请注明来源Log模块见雏形了,之所以最开始写Log模块,主要是考虑先写好了这个模块,以后在开发其他模块时,可以调用Log模块很容易的输出Log信息,方便开发过程中调试程序。Log模块大致如下:在程序中调用Log模块输出日志信息,Log模块会根据Log等级判断是不是要把log信息输出到各个监听器,Log模块从配置模块读取配置信息,来设置最低输出的log等级和监听器。各个监听器分别把信息输出到控制台,Log服务器,Log文件,系统日志等。使用这个模块还是非常简单的,示例代码:#include"god/log.h&q 阅读全文
posted @ 2013-08-02 09:18 libGod 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 嘿嘿.. 阅读全文
posted @ 2012-10-28 16:52 libGod 阅读(49) 评论(0) 推荐(0) 编辑
//
// //
  libGod博客