摘要: 续上在这里我将要向大家简单介绍一下游戏服务器中必须要处理另外一项主要技术:  内存分配处理技术也可以称为内存池处理技术(这个比较洋气,前面通俗的好,呵呵)  开始向大家介绍一般情况下我们对于内存的一些基本操作。简单而言,内存操作就只有三个步骤:申请、使用、销毁。而对于这些操作我们在C和C++中的处理方式略有不同:在C中我们一般用malloc(….)函数来进行申请,而对应销毁已经申请的... 阅读全文
posted @ 2010-02-24 10:05 Maxice 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 续上在这里我将要向大家简单介绍一下游戏服务器中必须要处理另外一项主要技术:线程池技术  开始 我来向大家简单来介绍一下线程池的概念,先简单了解下线程先,线程可以理解为一个function , 是一个为了进行某一项任务或者处理某一项具体事务的函数。例如:UINT WINAPI FunctionCtrl(void *) //线程处理函数{ 进行某一项任务或者处理某一项具体事务 …&hel... 阅读全文
posted @ 2010-02-24 10:04 Maxice 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 续上在上面我简单的说了一下服务器完成端口处理部分,接下来我想大家介绍一下关于如何建立服务器和客户端的联系规则,也就是服务器和客户端的游戏协议部分。有不足之处希望大家和我进行交流。  首先解释一下这里协议的概念,协议大家都了解是一种通信规则,例如:TCP/IP,UDP等等,这些是我们在网络通信过程中所处理使用的协议。而我们这里的协议是我们的游戏服务器和客户端的通信规则。简而言之,也就是客户端发送到服... 阅读全文
posted @ 2010-02-24 10:03 Maxice 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 这系列文章,也许在日新月异的游戏开发行业已经有些地方值得商榷了,但却不失为较好的入门的材料. 阅读全文
posted @ 2010-02-24 10:00 Maxice 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 用于返回Direct3D相关的错误信息。下面这个列表是可以通过 Direct3D 方法返回的值的列表。返回的各值的说明请参阅列表解释中的描述。 阅读全文
posted @ 2010-02-04 14:58 Maxice 阅读(2194) 评论(0) 推荐(1) 编辑
摘要: D3D资源管理资源分类 顶点缓冲(VertexBuffer) 索引缓冲(IndexBuffer) 纹理(Texture)资源存储 显存(Video Memory) 通过AGP直接访问的内存(AGP Aperture,也叫做非本地显存) 系统内存(System Memory)性能权衡 我们在创建D3D资源的时候需要填写两个参数:D3DPOOL、D3DUSAGE。这两个参数共同决定了资源最终存储... 阅读全文
posted @ 2010-02-04 10:26 Maxice 阅读(1283) 评论(0) 推荐(1) 编辑
摘要: 翻译:丁欧南这是我第一次尝试翻译,不当之处请您不吝指教.转载请注明出处.在3D程序中资源处理的快慢对程序的效率有着很大一部分的影响,记得我曾在不少人的Blog上看到他们写到只是由于改变了资源的处理方法,就使FPS数倍地增加.这给了我很深的印象.于是,我翻译了这篇FAQ中与此相关的部分,希望能给您以帮助.英文版出处: http://members.gamedev.net/jhoxley/direct... 阅读全文
posted @ 2010-02-04 08:52 Maxice 阅读(1224) 评论(0) 推荐(1) 编辑
摘要: VC++编译的常见错误1、fatal error C1010: unexpected end of file while looking for precompiled header directive。寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h")2、fatal error C1083: Cannot open include file: 'R... 阅读全文
posted @ 2010-01-24 10:49 Maxice 阅读(1804) 评论(0) 推荐(0) 编辑
摘要: 修改资源导致 error RC2135 链接错误 阅读全文
posted @ 2010-01-13 10:05 Maxice 阅读(2730) 评论(0) 推荐(1) 编辑
摘要: 赤龙用rand()和srand()产生伪随机数的方法总结---------------------------------标准库<cstdlib>(被包含于<iostream>中)提供两个帮助生成伪随机数的函数:函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:... 阅读全文
posted @ 2009-12-28 22:55 Maxice 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 赤龙const常量、指向常量的指针和常量指针---------------------------------1)先看const常量的情况:const int a=2;int const b=c; // c是已经声明过的整型两者都可以。本地的const常量必须在第一次声明时就初始化,用变量或常量初始化都可以,只是初始化一次以后它的值就不能再改变了,此所谓const的含义。2)接着看指向常量的指针:... 阅读全文
posted @ 2009-12-28 22:54 Maxice 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 赤龙typedef的四个用途和两个陷阱---------------------------------用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, ... 阅读全文
posted @ 2009-12-28 22:53 Maxice 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为.bat或.cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到的用批处理文件来给系统打补丁、批量植入后门... 阅读全文
posted @ 2009-12-28 22:52 Maxice 阅读(1893) 评论(0) 推荐(1) 编辑
摘要: VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。   初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为:   unresolved ... 阅读全文
posted @ 2009-12-28 22:51 Maxice 阅读(37554) 评论(0) 推荐(1) 编辑
摘要: VC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”这个错误,那么就说明该程序动态链接了VC9的运行时库,(如果还用到了MFC,那么可能动态链接了VC9的MFC库,同理还有ATL库),以及缺少对应的manifest文件,程序在目标机器上没有找... 阅读全文
posted @ 2009-12-28 22:50 Maxice 阅读(1401) 评论(0) 推荐(0) 编辑
摘要: 调用(calling)机制从汇编时代起已经大量使用:准备一段现成的代码,调用者可以随时跳转至此段代码的起始地址,执行完后再返回跳转时的后续地址。 CPU为此准备了现成的调用指令,调用时可以压栈保护现场,调用结束后从堆栈中弹出现场地址,以便自动返回。借堆栈保护现场真是一项绝妙的发明,它使调用者和被调者可以互不相识,于是才有了后来的函数和构件,使吾辈编程者如此轻松愉快。若评选对人类影响最大之发明,在火... 阅读全文
posted @ 2009-12-28 22:49 Maxice 阅读(347) 评论(0) 推荐(0) 编辑
摘要: error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成后事件..."error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成后事件..."解决方案(待定):应该是项目属性中 生成事件中命令行中的配置有问题,但经对命令行格式检查并没有错误。vs2005下编译完全没有问题,vs2008会出现上述问题.这个问题发生在Release模式下,目前这个文件暂时... 阅读全文
posted @ 2009-12-08 14:35 Maxice 阅读(3108) 评论(0) 推荐(0) 编辑
摘要: error C2440: “static_cast”: 无法从“UINT (__thiscall CGameFrame::* )(CPoint)”转换为“LRESULT (__thiscall CWnd::* )(CPoint)”问题:error C2440: “static_cast”: 无法从&ld... 阅读全文
posted @ 2009-12-08 14:33 Maxice 阅读(1820) 评论(0) 推荐(0) 编辑
摘要: error LNK2019: 无法解析的外部符号 __imp__PlaySoundA@12......#pragma comment(lib,"winmm.lib") 阅读全文
posted @ 2009-12-08 14:33 Maxice 阅读(306) 评论(0) 推荐(0) 编辑
摘要: vs2008下编译2003创建的项目,遇到的问题 general error c1010070vs2008下编译2003创建的项目,遇到的问题:因res\GameClient.manifest : general error c1010070: Failed to load and parse the manifest. {_~0 v修改:先从vs2003转换到vs2005,再从vs2005转到v... 阅读全文
posted @ 2009-12-08 14:26 Maxice 阅读(2506) 评论(0) 推荐(0) 编辑