
源码分析
文章平均质量分 77
dijinzhou
多年的linux C/C++编程,现在在从事网游后台的架构与开发,有兴趣的同行,可以一起讨论讨论;
展开
-
Mangos源码分析(一)
<br />Mangos源码分析<br /><br />------realmd登陆服务器<br /><br />Realmd主程序<br />/// Launch the realm server<br />int main(int argc, char **argv)<br />{<br /> //输入参数分析,”-c”指定配置文件<br /> //sConfig.SetSource(cfg_file),加载指定的配置文件<br /> //进行版本号检查<br /> /原创 2010-07-07 13:05:00 · 5438 阅读 · 0 评论 -
Mangos源码分析(二)
Mangos源码分析--Launch the mangos serverint main(int argc, char **argv){ // - Construct Memory Manager Instance MaNGOS::Singleton::Instance(); //char *leak = new char[1000]; // test leak detection ///- Command line parsing原创 2010-07-08 15:19:00 · 4921 阅读 · 1 评论 -
Mangos源码分析(三)
Mangos源码分析 --登陆服务器Src/game目录/// Read the client transmitted datavoid WorldSocket::OnRead(){TcpSocket::OnRead(); switch (_cmd) { case CMSG_PING: { _原创 2010-07-09 17:47:00 · 3127 阅读 · 0 评论 -
Quake 3 源码分析(二)
Quake 3 源码分析 命令与实现 游戏代码原创 2010-07-12 18:57:00 · 3515 阅读 · 0 评论 -
quake3 源码分析(四)
<br />quake3 源码分析(四)<br />--Render<br /> <br /> <br /><br /><br />void CL_InitRef( void ) <br />{<br /> refimport _t ri;<br /> refexport_t *ret;<br /> ri.Cmd_AddCommand = Cmd_AddCommand;<br />…<br /> <br />ret = GetRefAP原创 2010-07-15 15:54:00 · 2691 阅读 · 0 评论 -
Quake 3 源码分析(三)
<br />Quake 3 源码分析(三)<br />--键盘响应事件之启动主菜单<br /> <br /><br />源程序中的调用关系如下:<br />WinMain()àCom_Frame ()àCom_EventLoop()à(调用Com_GetEvent得到一个event,根据evType调用函数) CL_KeyEvent()àVM_Call( uivm,。。。)à(如果不存在uix86.dll,则调用VM_CallCompiled函数) vm->entryPoint()à(ui_main.c文件原创 2010-07-14 18:22:00 · 2172 阅读 · 0 评论 -
quake3源码分析(五)
<br />quake3源码分析(五)<br />启动主菜单<br /><br /><br />int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {<br /> Sys_CreateConsole();//创建一个用一输出的窗口<br /> Com_Init( sys_cmdline );//相关的初始化操作,加载原创 2010-07-19 18:45:00 · 2040 阅读 · 0 评论 -
quake3 源码分析(六)
<br />quake3 源码分析(六)<br />--网络数据传输与接收<br /><br /><br />数据结构:<br />#define MAX_LOOPBACK 16<br /> <br />typedef struct {<br /> bytedata[MAX_PACKETLEN];// MAX_PACKETLEN = 1400<br /> int datalen;<br />} loopmsg_t;<br /> <br />type原创 2010-07-20 17:43:00 · 1800 阅读 · 0 评论 -
boost中的ordered_free为什么需要做排序
<br />boost中的ordered_free为什么需要做排序<br /> <br />因为要用到boost中的pool,所以在网上查了下资料并整理如下:<br /><br />Boost中的ordered_free则假设FreeNodeList是有序的,因此会遍历FreeNodeList把要释放的结点插入到合适的位置。<br />首先通过find_prev寻找要加入的block在当前free list链中的位置,再将之加入free list,以使列表有序<br />代码如下:<br />find_pr转载 2010-08-10 14:14:00 · 1151 阅读 · 0 评论