安装GCC1.下载MinGW(MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称)。2. 配置环境变量。我安装的minGw在 c:\mingw在(系统属性-->高级-->环境变量-->系统变量 中)(以下目录都根据自己的电脑MinGW所在位置不同而改变)a.在PATH的值中加入“C:\MinGW\bin”。这是寻找gcc编译器的路径。如果PATH中还有其他内容,需要用英文状态下分号进行分割新建LIBRARY_PATH变量,在其值中加入“C:\MinGW\lib”。这是标准库存放的路径新建C_INC Read More
posted @ 2012-12-04 11:12 稳扎稳打 Views(750) Comments(0) Diggs(0) Edit
感觉这个VIM配置方案比较符合我的口味! 先收藏到这里吧,以后说不定还要到处找,免得麻烦!setnocompatiblesettags=./tags,tags"settags=./tags,tags,E:/Projects/php/tagssource$VIMRUNTIME/vimrc_example.vimsource$VIMRUNTIME/mswin.vimbehavemswinautocmdGUIEnter*simalt~xsetguioptions=EgrLtmap<silent><M-m>:if&guioptions=~#'T' Read More
posted @ 2012-12-03 14:26 稳扎稳打 Views(136) Comments(0) Diggs(0) Edit
最经在项目中,策划频繁的提出,物品装备强化的算法没有体现出来!导致强化的体验也不是很好。其实在项目中很多关于需要用到随机函数的地方 确实体验都不怎么好!这样导致游戏的可玩性。关于伪随机概念 云风博客里,说的很详细。这里记录下来http://blog.codingnow.com/2007/11/random.html Read More
posted @ 2012-11-27 18:11 稳扎稳打 Views(206) Comments(0) Diggs(0) Edit
对于我来说从来没接触过MFC,以及GUI客户端技术。上次公司的网页游戏需要一个客户端登陆器,来实现一个微端的效果!按照要求一步步完成,最终实现了效果没什么技术难度的。主要对MFC的框架要有深刻的认识吧! 最终总结就是,MFC框架采用的思想值得我们去探索!学习 Read More
posted @ 2012-10-30 11:52 稳扎稳打 Views(1516) Comments(0) Diggs(0) Edit
尽管T C P和U D P都使用相同的网络层( I P),T C P却向应用层提供与U D P完全不同的服务。T C P提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用T C P的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个T C P连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。在第1 8章我们将看到一个T C P连接是如何建立的,以及当一方通信结束后如何断开连接。在一个T C P连接中,仅有两方进行彼此通信。在第1 2章介绍的广播和多播不能用于T C P。T C P通过下列方式来提供可靠性:• 应用数据被分割成T C P认为 Read More
posted @ 2012-10-30 11:46 稳扎稳打 Views(158) Comments(0) Diggs(0) Edit
本文将与你分享我多年来在服务器开发方面的一些经验. 对于这里所说的服务器, 更精确的定义应该是每秒处理大量离散消息或者请求的服务程序, 网络服务器更符合这种情况, 但并非所有的网络程序都是严格意义上的服务器. 使用"高性能请求处理程序"是一个很糟糕的标题, 为了叙述起来简单, 下面将简称为"服务器". 本文不会涉及到多任务应用程序,在单个程序里同时处理多个任务现在已经很常见。比如你的浏览器可能就在做一些并行处理,但是这类并行程序设计没有多大挑战性. 真正的挑战出现在服务器的架构设计对性能产生制约时,如何通过改善架构来提升系统性能. 对于在拥有上G内存和G Read More
posted @ 2012-10-24 13:11 稳扎稳打 Views(180) Comments(0) Diggs(0) Edit
https://github.com/mpx/lua-cjson应用场合: 数据存数据库时,序列化为json。(用文本的目的是可读性) Read More
posted @ 2012-10-24 11:59 稳扎稳打 Views(382) Comments(0) Diggs(0) Edit
最近在业余时间折腾了一下IOCP,IOCP模型在windows平台上网络通信这块效率还是蛮高的,所以特别是对游戏服务端开发来说,至少要对IOCP有一定的了解吧!!发下代码,希望看到的大鸟们,帮忙指正下IocpModel.h#ifndef__IOCPMODEL_H#define__IOCPMODEL_H#include<iostream>#include<WinSock2.h>#pragmacomment(lib,"ws2_32.lib")#defineOP_READ1#defineOP_WRITE2#defineOP_ACCEPT3#defineOP Read More
posted @ 2012-09-18 11:02 稳扎稳打 Views(3877) Comments(0) Diggs(0) Edit
WSAGetLastError 为 6的错误码说明发送句柄为空,找不到这个句柄,原因是没有 ZerMemory(&over,sizeof(OVERLAPPED)); 对这个结构体初始化后来网上找了很久原因是关于typedef struct _OVERLAPPED { ULONG_PTR Internal; ULONG_PTR InternalHigh; union { struct { DWORD Offset; DWORD OffsetHigh; } DUMMYSTRUCTNAME; PVOID Pointer; } DUMMYUNIONNAME; HANDLE hEvent;} O Read More
posted @ 2012-09-12 12:10 稳扎稳打 Views(1074) Comments(0) Diggs(0) Edit
定义常量指针 用意是,常量指针不可改变(1)定义常量指针 必须初始化 例如:int const *p ; //error int const *p=&a;(2)常量指针自身不能更改, p++; //error (3)指向对象或者变量值可以改变 Read More
posted @ 2011-12-13 22:21 稳扎稳打 Views(105) Comments(0) Diggs(0) Edit
当 前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API)。TCP/IP传输层有两个并列的协议:TCP 和UDP。其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP(user datagram protocol,用户数据报协议)是无连接的,提供高效率服务。在实际工程应用中,对可靠性和效率的选择取决于应用的环境和需求。一般情况下,普通数据 的网络传输采用高效率的udp,重要数据的网络传输采用高可靠性的TCP。 在应用开发过程中,笔者发现基于TCP网络传输... Read More
posted @ 2011-09-23 17:52 稳扎稳打 Views(206) Comments(0) Diggs(0) Edit
初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生,而进程或线程继续执行,所以效率较高)方式工作的程序,它. Read More
posted @ 2011-08-04 20:17 稳扎稳打 Views(354) Comments(1) Diggs(0) Edit
url: http://runuo.com/home/good!! Read More
posted @ 2011-06-10 16:15 稳扎稳打 Views(212) Comments(0) Diggs(0) Edit
一 Windows中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个“消息队列”,即应用程序队列,用来存放该程序可能创建的各种窗口的消息。应用程序中含有一段称作“消息循环”的代码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中。 二 Windows为当前执行的每个Windows程序维护一个「消息队列」。在发生输入事件之后,Windows将事件转换为一个「消息」并将消息放入程序的消息队列中。程序通过执行一块称之为「消息循环」的程序代码从消息队列中取出消息:while(GetMessage (&msg, NULL, 0, 0)) { Transl Read More
posted @ 2011-03-04 17:22 稳扎稳打 Views(289) Comments(0) Diggs(1) Edit
dynamic_cast type-id ( expression ) 该运算符把expression转换成type-id类型的对象。Type-id必须是类的指针、类的引用或者void *;dynamic_cast主要用于类层次间的上行转换和下行转换,还可以用于类之间的交叉转换class B{ public:   int m_iNum;  virtual void foo();  };   class D:public B{    public:    char *m_szName[100];  };  void func(B *pb){   D *pd1 = static_cast Read More
posted @ 2010-12-17 15:03 稳扎稳打 Views(2281) Comments(1) Diggs(0) Edit