显示下一条  |  关闭

微笑

男儿意气,无关富贵

 
 
 
 
 
 

位域的使用

2011-4-28 18:23:33 阅读71 评论0 282011/04 Apr28

通常使用位域有两个目的:第一,如果你所需要的数据长度不是系统提供的char/short/int/long的长度,而你又比较想节省内存时,你可以把位域当成定长的数组来使用。 第二,你需要用一个数据块来存储多个不等位长的数据字段,或者你需要访问某个数据的特定位的数据。

以实际项目中的uuid的设计为例,我们期望在这个long类型8字节的uuid中记录一个8位的server, 4位的type, 32位的time, 20位的index,那么我们可能会做以下位域申明:
struct uuid_t
{
        unsigned int index:20;
        unsigned char server_id:8;

作者  | 2011-4-28 18:23:33 | 阅读(71) |评论(0) | 阅读全文>>

[网络游戏服务器之一]日志系统

2011-4-12 21:33:11 阅读181 评论2 122011/04 Apr12

For Beginner:
日志系统主要是一组记录引擎底层及应用逻辑层系统状态变化过程的接口。几乎所有的游戏服务器框架都会有一组操作日志的接口,当然最简单的就是大家所熟悉的printf格式化到标准输出,日志系统的复杂度有高有低,具体目的主要是为调试及运营数据查询需要。可以说日志系统实现是否易用、简洁,将直接影响到开发及运营效率。

文件VS数据库

是写文件还是写数据库,这是一个问题。数据库的优势是查询/统计/排序很方便,一旦建立好所有的日志表及其操作以后,后期运营会比较舒服,可以轻松应对策划无休止的BT日志统计需求。但为每个日志建立数据库的表项及其索引是需要有很强前瞻性的,对程序员的经验要求较高,大数据量的数据

作者  | 2011-4-12 21:33:11 | 阅读(181) |评论(2) | 阅读全文>>

先挖一个坑

2011-4-6 18:31:15 阅读39 评论1 62011/04 Apr6

有一段时间不写程序了,反而想起来写一点什么技术方面的总结,这是不是有点娱乐? 我是一个喜欢历史的人,同样我觉得程序也是有历史的,每一段代码都有他不为人知的过去,它为什么是这样而不是那样,它的演进过程是如何的? 不了解这些过去就很难理解它的现在,对吧? 嗯,事实上,接下来要说的内容实际上相当基础,只是一些具体项目的经历,不过呢标题我打算要响亮一点,不如就叫做《MMORPG服务器设计》吧, 这个确实够NB了。

好了,这个坑挖好了。

作者  | 2011-4-6 18:31:15 | 阅读(39) |评论(1) | 阅读全文>>

回归

2011-4-6 18:23:15 阅读25 评论1 62011/04 Apr6

相当久没有更新blog了,不是忙,也不是懒,只是没啥好写的。我喜欢这种状态,想写就写点,不想写就不写。blog更多是给自己看看,让自己的思绪有所停留,只言片语,聊以自娱

作者  | 2011-4-6 18:23:15 | 阅读(25) |评论(1) | 阅读全文>>

CA证书目的(key usage)

2010-8-9 19:17:50 阅读231 评论0 92010/08 Aug9

前一阵公司给各产品组发放了天威数字证书,用于客户端程序签名,防止被恶意修改和伪造,目前很多杀毒软件都支持数字签名验证,这对修改客户端的木马或者外挂来说是很好的防范手段。拿到证书以后,我一直在想这个证书应该不只是可以用于数字签名吧?用IE导入以后可以清楚的查看到证书的用途:a. 确保软件来自软件发布者 b.保护软件在发行后不被更改。联想到我们公司很多服务器的证书都还是自认证的,我就在想是否可以用这个合法的证书来做CA,形成一个受保护的合法CA链? 想到了就动手去做

首先是从pfx格式到处key及crt文件:
openssl pks12 -in site.pfx -nocerts -nodes -out ca.key

openssl

作者  | 2010-8-9 19:17:50 | 阅读(231) |评论(0) | 阅读全文>>

thunderbird 邮件恢复

2010-7-27 14:41:57 阅读155 评论1 272010/07 July27

Thunderbird已经不是第一次罢工了,每次都是当收件夹容量达到1G左右的时候,所有邮件就无法读取出来了,我相信这是它的一个bug, 前一次依靠thunderbird email recovery成功修复,找回了所有邮件。这次同样祭出杀手锏,却始终没有效果,折腾了大半天,又换了传说中的Zmeil,还是无能为力,可笑的是这两款软件在读取Inbox文件的时候都崩溃了...一个报Out of memory, 一个报数据异常。 唉,如果不异常我还找你干嘛来的~~~接下来又是google一通,发现一个哥们曾经手工修复过thunderbird邮件,既然有人做过,那就证明是可行的。 于是在网上查了一下Thunderbird的邮件存储格式为Mbox,其实就是MIM

作者  | 2010-7-27 14:41:57 | 阅读(155) |评论(1) | 阅读全文>>

win7 下面玩星际花屏问题完美解决

2010-7-22 17:45:01 阅读533 评论0 222010/07 July22

以下资料从网上收集整理获得,非原创

win7花屏解决方案:
首先,要用xp sp3兼容模式来运行, 并勾选256色, 640*480选项
第一种方案:下载starcraftfix程序,用这个程序来启动,部分同学有遇到死机的情况。
第二种方案:将桌面主题修改为“windows经典”,并打开屏幕分辨率修改窗口,然后开启游戏。
第三种方案:完美解决方案:
在星际目录里面建立一个start_sc.bat的文件,里面存入以下文本内容:
taskkill /f /IM explorer.exe
starcraft.exe
start explorer.exe

然后每次点击这个bat启动

作者  | 2010-7-22 17:45:01 | 阅读(533) |评论(0) | 阅读全文>>

内存损坏调试

2009-11-5 10:08:34 阅读57 评论1 52009/11 Nov5

现象: 内存分配器链表结构损坏,slot中其他节点数据完好,并且本节点的size信息正确,不太像是越界写导致的错误。初步怀疑是free了内存两次,或者使用已经free了的内存。

处理过程: 迅速祭出游戏录像功能,挂上gdb,查看crash的地方总是将内存节点的next指针置为0x1a,并且每次地址信息完全固定,这下心里有底了,内存不会乱飞事情就好办了。将malloc和free的记录全部Log下来备查,找到被写坏的内存段起始地址D1-D2, 在内存分配日志中找到最近的一个包含这个地址段的分配记录,That's ok,就是它了,然后对照代码查看,发现这个内存被丢进了gc链表,然后在对象析构的时候又手动free了一次。。。

作者  | 2009-11-5 10:08:34 | 阅读(57) |评论(1) | 阅读全文>>

生成不重复的随机数[转帖]

2009-2-24 15:51:27 阅读878 评论0 242009/02 Feb24

生成不重复的随机数

生成无重复的随机数,注意,是不重复的序列.

   通常的生成随机数的做法是不考虑重复的,因为即使重复也属于概率意义上的正常情况.但某些情况下需要不重复的随机数据,怎么办呢?

   我想从大方向上来说,应该只有两个方法.要么牺牲时间要么牺牲空间.讲得不对或不完整,大家一定要指出来啊,谢谢.

   注意,下面均以在101~200的范围内(设为b[100],它实际上是附加空间),从中产生10个不重复的随机数(设为a[10]).

   

一.牺牲时间为代价

作者  | 2009-2-24 15:51:27 | 阅读(878) |评论(0) | 阅读全文>>

关于浮点数精度问题

2008-7-2 18:24:16 阅读71 评论0 22008/07 July2

最近测试一些hash算法的分布效率,偶然遇到浮点数精度问题,大概代码如下
float f = 16777217;

printf("%f\n",f);

输出数值为16777216.000000,很显然这里将整形转换为float的时候发生了精度损失问题。查看CSAPP书籍,可以知道,在IEEE标准中float数据包含1位符号位,8位指数位,以及23位小数位,所以float所能精确表述的最小正整数即为2的24次方(16777216)。超过这个数值,在移位的过程中就会发生数据丢失,从而影响精度。

作者  | 2008-7-2 18:24:16 | 阅读(71) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 

日历

 
 
模块内容加载中...
 
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 
 
 
日志评论
评论列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 

广东省 广州市 天蝎座

 发消息  写留言

 
上帝不掷骰子!
 
近期心愿远离灾害、重建家园
POPO  shavingha@163.com
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012

   
创建博客 登录  
 关注