c/c++
文章平均质量分 63
yynetsdk
软件工程师
展开
-
网狐棋牌游戏平台服务器架构设计分析
基本设计概念和处理流程 调用模型 模仿COM组件接口模式,利用面向对象思想多态性polymorphism,调用方保存着被调用方的基础接口指针(interface or sink钩子)(Pure Virtual Function),调用方直接调用接口指针内声明的纯虚方法,而此纯虚函数的具体逻辑由该接口的派生类实现。示意图: 基于事件驱动的数据处理模型转载 2012-07-09 13:38:49 · 3038 阅读 · 1 评论 -
网游BUG提交解决方案
1.网游运行中的崩溃异常 etc 需要搜集上传到运营商的服务器上,以便解决问题。2.在此提供一个FTP上传类。3.当然上传的文件内容,不容我多说,是程序员自己定义的各种dump日志。#pragma once#include #include using namespace std;class ZBugZiller{public: ZBugZiller(); ~ZB转载 2012-02-01 11:19:56 · 780 阅读 · 0 评论 -
百度面试题:写一个memcpy函数的源代码。
#include void mymemcpy(void*dst,void*src,int len){ char * pDst = (char *)dst; char const* pSrc = (char *)src; for(int i=0;i<len;i++) { *pDst++ = *pSrc++; }}int main(){ char dst[128]=原创 2012-01-29 09:24:03 · 1718 阅读 · 2 评论 -
百度面试题:求0-2000内的所有质数
别忘了质数的定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。#include #define NUMS 2000int main(int argc, char **argv){ int di[NUMS]={0}; for(int i=2;i<=NUMS;i++) { di[i-1] = i; for(in原创 2012-01-29 08:27:37 · 1319 阅读 · 0 评论 -
进程守护HoldOn
// HoldOn.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include #include "atltime.h"using namespace std;int _tmain(int argc, _TCHAR* argv[]){ if (argc != 2)原创 2012-01-18 10:18:06 · 549 阅读 · 0 评论 -
win7 + vmware + redhat9 + secureCRT 搭建c++开发环境
今天尝试在自己的win7电脑上搭建redhat下c++开发环境,特此记录。1.去下载 这样3个文件 shrike-i386-disc1.iso ...2.当然不能少了VMware Workstation3.运行建立虚拟系统,选择Nat网络连接方式,一路netxt,选择"工作站",选择各种安装包(当然不能少了开发工具)。等待安装完毕,和替换iso文件。4.设置虚拟机使其可以联原创 2011-12-16 13:42:32 · 1503 阅读 · 0 评论 -
redhat enterprise 5 下的boost::asio 库应用(1)
在linux环境下编译boost & asio库,是个头疼的事情,前天搞了一天也没把asio.examples编译通。无奈,只有重新下载独立的asio_1.4.8.zip单独编译。1.unzip2.makewait some seconde....搞定!编译asio Example:echog++ -g -o bclient -I/h原创 2011-12-21 09:52:27 · 596 阅读 · 0 评论 -
redhat enterprise 5 下的boost::asio 库应用(2)
在熟悉asio之前,先来把bsd socket c/s模型熟悉下client:#include "stdio.h"#include "stdlib.h"#include "netinet/in.h"#include "sys/socket.h"#include "sys/types.h"#include "sys/wait.h"#include "arpa/inet.h"i原创 2011-12-21 15:14:53 · 568 阅读 · 1 评论 -
ZeroMQ:还在研究为什么epoll比select更好吗?
还在学socket编程吗?还在研究为什么epoll比select更好吗?噢,不必了!在复杂的云计算环境中,我们面临的难题远比这个复杂得多。庞大的服务器集群作为计算云,对来来看或许只是一个简单的搜索框;而在云的内部,复杂的互联和海量的通讯,加之不稳定的网络环境,廉价服务器的低可用性——构建一个高可用性且具备伸缩能力的云计算的环境,不是那么容易的!为什么说ZeroMQ是云计算时代最好的转载 2011-12-21 13:52:42 · 3337 阅读 · 3 评论 -
gdb g++ 编译及调试
1. 类库文件base.h base.cpp2.编译类库g++ -c base.cpp 生成 base.o3.编译main.cpp:g++ -g -o main main.cpp base.o4.调试gdb,如下gdb mainlist (列出文件line)b 6(指定break的行)runprint xx (打印堆栈)n (单步)以上重点是在 链接原创 2011-12-19 14:49:07 · 5185 阅读 · 0 评论 -
g++ boost库编译及测试
1.downlaod boost.zip2.unzip xx.zip3.upload to linux4.chmod a+x bootstrap.sh5../bootstrap.sh 如出现其他权限不够情况,请依次更改6.wait for some secondes7.copy boost/boost to /usr/include/boost8.copy boost/原创 2011-12-19 17:05:12 · 3367 阅读 · 1 评论 -
c++内存池自定义
// MemoryPool.h: interface for the CMemoryPool class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_MEMORYPOOL_H__C8AD2342_A4E4_4A08_8969_F9F4B1CE7E5E__IN转载 2012-02-01 12:40:05 · 597 阅读 · 0 评论 -
《微软面试题》设计包含min函数的栈
设计包含min函数的栈。定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。代码如下:stack.h#pragma once#include //simulation stack DataStructtemplateclass Node {public: Node(T t)原创 2011-12-09 11:04:33 · 803 阅读 · 0 评论 -
慧明系统补丁管家
下载地址:http://t.cn/zOSbg7U原创 2012-03-31 15:11:19 · 820 阅读 · 0 评论 -
FSBII(七)class CThread
/******************************************************************** created: 2003/02/14 file base: Thread file ext: h author: liupeng purpose: **********************************************转载 2012-03-26 09:33:34 · 786 阅读 · 0 评论 -
FSBII(三)class CPictureEx : public CStatic
//////////////////////////////////////////////////////////////////////// PictureEx.cpp: implementation of the CPictureEx class.//// Picture displaying control with support for the following formats转载 2012-03-26 09:15:13 · 901 阅读 · 0 评论 -
FSBII(四)class CWebBrowser2 : public CWnd
#if !defined(AFX_WEBBROWSER2_H__E2C95196_D6DB_4CFB_9C70_D7710EC2DE92__INCLUDED_)#define AFX_WEBBROWSER2_H__E2C95196_D6DB_4CFB_9C70_D7710EC2DE92__INCLUDED_#if _MSC_VER > 1000#pragma once#endif //转载 2012-03-26 09:18:28 · 1757 阅读 · 0 评论 -
FSBII(一)class CHyperlinkStatic : public CStatic
#if !defined(AFX_HYPERLINKSTATIC_H__32A71426_1315_407C_9D90_A484C5589D80__INCLUDED_)#define AFX_HYPERLINKSTATIC_H__32A71426_1315_407C_9D90_A484C5589D80__INCLUDED_#if _MSC_VER > 1000#pragma once#e转载 2012-03-26 09:08:54 · 859 阅读 · 0 评论 -
FSBII(六)IOCPServer
/******************************************************************** created: 2003/02/14 file base: SocketServer file ext: h author: liupeng purpose: Build***********************************转载 2012-03-26 09:31:52 · 976 阅读 · 1 评论 -
FSBII(二)class CPicture : public CPictureHolder
// Picture.h: interface for the CPicture class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_PICTURE_H__FEEDAFE6_6A51_42FA_B769_0E9742D6E16F__INCLUDED_)转载 2012-03-26 09:13:28 · 1202 阅读 · 0 评论 -
FSBII(八)class KMutex
//---------------------------------------------------------------------------// Sword3 Engine (c) 1999-2000 by Kingsoft//// File: KMutex.h// Date: 2000.08.08// Code: WangWei(Daphnis)// Desc: Hea转载 2012-03-26 09:36:41 · 659 阅读 · 0 评论 -
FSBII(五)IOCP
/******************************************************************** created: 2003/02/14 file base: IOBuffer file ext: h author: liupeng purpose: Header file for CIOBuffer class*************转载 2012-03-26 09:25:59 · 791 阅读 · 0 评论 -
《微软面试题》判断2个单向链表的是否有交叉点
微软亚院之编程判断俩个链表是否相交给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。为了简化问题,我们假设俩个链表均不带环。问题扩展:1.如果链表可能有环列?2.如果需要求出俩个链表相交的第一个节点列?comNode.h#pragma once//check two single-list does have com node原创 2011-12-09 12:53:00 · 2289 阅读 · 0 评论 -
redhat enterprise 5 下的boost::asio 库应用(0)
最近几次业内交流,我认识了自己。一直以来,都在windows下开发网络服务器,从单pc负载1k - 2k - 4k,网络性能也逐步提高。但是周边的朋友,大多是在linux下开发,我就显得比较扎眼。第一个差异就是服务端的os环境,另外就是MMORPG的逻辑处理。其实单就os不同,确实不能衡量比较服务器的质量,萝卜青菜各有所爱。近日饶有兴趣的原创 2011-12-19 17:26:01 · 461 阅读 · 0 评论 -
boost内存池简单应用(一)
1.测试环境 vs2010 ,boost1.48,2.编译boost,生成静态库,方法从网上找。3.测试对象,pool &object_pool4,code :// testBoost.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace boost;原创 2011-12-08 13:12:36 · 1063 阅读 · 0 评论 -
字符串操作(二)
接上篇。(1)判断是否utf8编码SERVER_DECL bool _IsStringUTF8(const char* str){ int i; unsigned char cOctets; // octets to go in this UTF-8 e原创 2011-10-13 09:53:14 · 528 阅读 · 0 评论 -
字符串操作(一)
代码片段,来源于Arcemu开源项目。 (1)切分using namespace std;vector StrSplit(const string & src, const string & sep){ vector r; string s;原创 2011-10-13 09:51:28 · 8102 阅读 · 0 评论 -
ARCEmu项目wow私服服务器网络模块分析(三)
看过network代码的筒子,会发现类定义的时候,经常出现一个Singleton。为啥要单例啊,这让我们苦比的中国人情何以堪。Singleton定义如下:template class SERVER_DECL Singleton{ public原创 2011-10-12 14:21:20 · 3819 阅读 · 1 评论 -
ARCEmu项目wow私服服务器网络模块分析(二)
/* * Multiplatform Async Network Library * Copyright (c) 2007 Burlex * * SocketMgr - iocp-based SocketMgr for windows. * */#原创 2011-10-12 10:54:19 · 3828 阅读 · 0 评论 -
ARCEmu项目wow私服服务器网络模块分析(一)
/* * Multiplatform Async Network Library * Copyright (c) 2007 Burlex * * SocketMgr - iocp-based SocketMgr for windows. * */原创 2011-10-12 10:53:50 · 4026 阅读 · 0 评论 -
如何做好Code Review
Codereivew是开发团队中经常采用的,为提高代码质量、提高编码规范的一种手段。针对实际工作组织review过程中的一些想法、见解,作一下总结。关于CodeReview的几点作用:1、提高团队的编码规范,培养良好的coding风格旨在提高整个团队的编码规范程度转载 2011-09-28 09:53:51 · 758 阅读 · 0 评论 -
DirectUI技术分析(一)
依据duilib开源项目,对directUI技术做一个介绍,本人技术有限,轻点拍砖。 先给duilib做个介绍:(转) 国内首个开源 的directui 界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 、Wind原创 2011-09-26 16:27:44 · 1512 阅读 · 0 评论 -
《stlport》源码解析-vector
(1)打开stlport 的源码了吗,我这里使用4.6.2版本,其他版本也无妨啊。(2)进入stlport/stl目录,有木有很多_list.h,_vector.h的文件,恭喜你找对了。(3)打开_vector.h看看吧,建议用UE或者其他IDE环境,这样方便看哦。原创 2011-09-14 15:57:38 · 1256 阅读 · 0 评论 -
svn同mantis的整合实战(网上资料凌乱,自己做攻略)
1.准备资源:mantis1.26或更高;phpstudy2010(apache,php,mysql的集成环境);svn服务器及客户端;2.建立好phpstudy的运行环境,phpinfo.php测试通过。在php.ini的配置文件中开启相关扩展(默认的已经足够了)。3.原创 2011-08-18 13:06:12 · 5092 阅读 · 5 评论 -
《stlport》源码解析-目录篇 @原创@
近来得闲,准备写些知识点,和大家分享。于是乎,就想到了stlport 和 boost,避重就轻,就拿stlport练手吧。 《stlport》源码解析目录author:yynetsdktime:2011-09-14 主要介绍在日常开发经常用到的一些容器:原创 2011-09-14 14:45:35 · 1196 阅读 · 1 评论 -
动态数组
from Arcemu code: /* * Copyright (c) 2001 Jani Kajala * * Permission to use, copy, modify, distribute and sell this * software a原创 2011-10-13 10:11:23 · 472 阅读 · 0 评论 -
从sockaddr_ipx到AF_IPX协议分析(一)
玩局域网游戏,对战平台的筒子,大家应该不陌生ipx协议,有时候windows下不带该协议还需要自己安装。那么为什么这些游戏要采用ipx协议呢,同样是无连接的udp,为什么不使用呢?摆渡说ipx比udp效率高,功耗小。从代码入手吧。 typedef struct原创 2011-10-10 11:24:33 · 3797 阅读 · 1 评论 -
CodeLite IDE for windows (一)安装及HelloWorld
昨天从oschina看到CodeLite的消息,是不是out了,哈哈。 今天就迫不及待的测试下,安装流程如下: (1)下载完整安装包:http://sourceforge.net/projects/codelite/files/Releases/codelite-3.0/选择下载:http://ncu.dl.sourceforge.net/project/codelite/原创 2011-11-09 09:47:01 · 15174 阅读 · 0 评论 -
解决vs03 安装中可恶的FrontPage 2000 WEB
解决方法如下: 第一步:到系统的光碟拷贝几个文件。复制 \i386\fp40ext.cab 中的 fp4autl.dll、fpencode.dll 和 fp4awel.dll放到[系统盘如C盘]:c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\40\bin 文件夹中。 没有系统盘,原创 2011-11-29 11:00:42 · 613 阅读 · 0 评论 -
《Windows高级调试》分析(二)
介绍下书中提到的 各种,调试工具:1.Debug tools for windows2.LeakDiag3.DebugDiag4.wireshark5.wdk6.ProcessExplore 这么东西,我经常用到的 也就是 winDebug,偶尔用下LeakDiag。原创 2011-11-08 08:36:50 · 789 阅读 · 0 评论