自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

转载 boost::bind

一 Boost::bind       在STL中,我们经常需要使用bind1st,bind2st函数绑定器和fun_ptr,mem_fun等函数适配器,这些函数绑定器和函数适配器使用起来比较麻烦,需要根据是全局函数还是类的成员函数,是一个参数还是多个参数等做出不同的选择,而且有些情况使用STL提供的不能满足要求,所以如果可以我们最好使用boost提供的bind,它提供了统一的接口,提供了更多的支

2009-05-28 15:07:00 2247

转载 为什么C++编译器不能支持对模板的分离式编译

为什么C++编译器不能支持对模板的分离式编译 刘未鹏(pongba)C++的罗浮宫(http://blog.csdn.net/pongba) 首先,一个编译单元(translation unit)是指一个.cpp文件以及它所#include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个.obj文件(假定我们的平台是win3

2009-05-28 12:32:00 1210

转载 在你的代码中使用Boost智能指针

Download source files - 45.3kb正文         智能指针能够使C++的开发简单化,主要是它能够像其它限制性语言(如C#、VB)自动管理内存的释放,而且能够做更多的事情。 1、 什么是智能指针智能指针是一种像指针的C++对象,但它能够在对象不使用的时候自己销毁掉。我们知道在C++中的对象不再使用是很难定义的,因此C++中的资源管理是很

2009-03-22 11:47:00 1479

转载 调试经验总结-VC下的错误对话框

  [转自:http://www.cppblog.com/kevinlynx/archive/2008/04/24/47998.html]很早前就想写点总结将编程中遇到的各种错误刨根挖底地罗列出来。但是因为这些错误(VC中开调试器遇到的各种错误对话框)都是随机性的,真正想总结的时候又不想不起来有哪些错误。恰好最近运气比较背,各种错误都被我遇遍了,于是恰好有机会做个总结。这里所说的V

2009-03-22 11:35:00 903

转载 Visual C++线程同步技术剖析

[文章信息] 作者:中国电波传播研究所 郎锐时间:2004-02-24出处:yesky责任编辑:方舟 [文章导读] 本文重点对多线程的各种同步技术进行介绍         摘要: 多线程同步技术是计算机软件开发的重要

2009-02-14 22:31:00 527

原创 游戏开发常用网址

 DirectX Linkshttp://msdn.microsoft.com/directx - DirectX developers homepage.http://microsoft.com/directx - DirectX end-users homepage.http://www.microsoft.com/xna/ - Microsofts XNA homepage.htt

2008-12-11 12:03:00 1385

翻译 翻译《real-time 3d terrain engines using C++ and DX9 》

 翻译《real-time 3d terrain engines using C++ and DX9 》 心血来潮啊,决定要翻译《real-time 3D terrain engines using C++ and DX9》,希望多广大的游戏爱好者有所帮助。首先声明,没有商业用途的意思(当然不排除要是一不小心弄出本书,小赚一笔的想法,咔咔。。。YY一下)。本文章原版版权归作者所有,中文版版

2008-12-11 11:36:00 3285 2

转载 高级碰撞检测技术

高级碰撞检测技术     自从计算机游戏出现以来,程序员就不断地想办法来更精确地模拟现实世界。就拿乒乓游戏为例子(译者:Pong—被誉为电子游戏的祖先,有幸见过一次:),能见到祖先做的游戏感觉真是爽啊,想看的可以到FTP上下载“地球故事”就可以看到了:),游戏中有一个象征性的小方块(球)和两支拍子,游戏者需要在恰当的时间将拍子移动到恰当的

2008-12-09 18:17:00 849

转载 四叉树和八叉树的剔出选择

[翻译]四叉树和八叉树的剔出选择  介绍:  传统计算机图形应用--特别是的应用的需要一个实时,交互的方法来现实--通过处理一个发送到显卡的数据的最有效的图形数据子集的方法来决定图形数据的显示,而不是传送全部的数据,四叉树,八叉树,Bsp树,背面剔出,pvs集合很多其他方法都是针对这个目的而提出的。  流行的计算机图形卡近些年

2008-12-09 18:06:00 827

转载 在Direct3D程序中运用碰撞检测

在Direct3D程序中运用碰撞检测   几乎所有的3D游戏都离不开碰撞检测——无论是各物体之间的碰撞检测,还是物体与场景之间的碰撞检测。在真实世界中,你是很自然地不能穿墙而过的,所以很多人在玩各种3D游戏的时候自然而然的忽视了碰撞检测这一过程的存在。然而,碰撞检测的过程是重要的。如果没有它,你在CS中就会毫无遮拦的飞来飞去——如果考虑重

2008-12-09 17:58:00 1197 1

转载 直接调用类成员函数地址

直接调用类成员函数地址作者:南风摘要:介绍了如何取成员函数的地址以及调用该地址.关键字:C++成员函数 this指针 调用约定一、成员函数指针的用法  在C++中,成员函数的指针是个比较特殊的东西。对普通的函数指针来说,可以视为一个地址,在需要的时候可以任意转换并直接调用。但对成员函数来说,常规类型转换是通不过编译的,调用的时候也必须采用特殊的语法。C++专门为成员指针准备了三个运

2008-06-09 11:45:00 551

转载 C++编码中减少内存缺陷的方法和工具

C++编码中减少内存缺陷的方法和工具程振林,方金云,唐志敏(中国科学院计算技术研究所,北京 100080)摘 要:基于C++的软件的缺陷和错误大部分都和内存相关,预防、发现、消除代码中和内存相关的缺陷,成为程序员编写、调试、维护代码时的重要任务。该文基于“面向网络海量空间信息的大型GIS”课题的工程实践,提出和总结了如何使用C++语言机制、开发环境和相关质量保证工具来预防、发现各种编译期、运行

2008-06-09 11:18:00 813

转载 优秀网站源码、编程源码下载网站大集中

优秀网站源码、编程源码下载网站大集中 1.51源码:http://www.51aspx.com/ 2.源码之家:http://www.codejia.com/ 3.源码网:http://www.codepub.com/ 4.虾客源码:http://www.xkxz.com/ 5.多多源码:http://www.morecode.net/ 6.洪越源代码:http://www.softhy.net/

2008-06-09 11:13:00 899

转载 五种开源协议收藏

五种开源协议收藏 当Adobe、Microsoft、Sun等一系列巨头开始表现出对"开源"的青睐时,"开源"的时代即将到来!出处:http://www.sinoprise.com/read.php?tid-662-page-e-fpage-1.html,我没有改动原文,只是进行了一些排版和整理。参考文献:http://www.fsf.org/licensing/licenses/现今存

2008-06-01 18:21:00 581

转载 使用SIMD指令高度优化Matrix类(转)

使用SIMD指令高度优化Matrix类杨粼波 发表于: 2008-5-14 14:28 来源: GameProject游戏项目网 来源:http://www.cnblogs.com/sundeepblue/archive/2007/08/10/850499.html图形学中最常用的底层类为矢量类(Vector)和矩阵类(Matrix).已经存在很多实现的版本,甚至包括用汇编语言写的内联函数

2008-06-01 16:41:00 1204

原创 简单好用的读写ini文件的类

IniReader.h#ifndef INIREADER_H#define INIREADER_Hclass CIniReader{public: CIniReader(char* szFileName);  int ReadInteger(char* szSection, char* szKey, int iDefaultValue); float ReadFloat(char* szSec

2008-06-01 16:03:00 875

原创 const 详讲 (转)

 使用const提高函数的健壮性 看到const关键字,C++程序员首先想到的可能是const常量.这可不是良好的条件反射.如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮.const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体 const是constant的缩写,“恒定不变”的意思.被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性.所以

2008-06-01 15:48:00 568

原创 volatile关键字

  volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下:int volatile nVint;  当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即

2008-06-01 15:45:00 487

原创 堆栈,堆和栈的区别(再转)

来自任我行C++blog:堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全

2008-06-01 15:36:00 554

原创 UML类图关系

本文随便转载,请保留出处:http://blog.csdn.net/dylgsy/UML的类图关系分为: 关联、聚合/组合、依赖、泛化(继承)。而其中关联又分为双向关联、单向关联、自身关联;下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里。1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这

2008-06-01 15:33:00 487

原创 C++中各种string的相互转化

一 C++ 中 string与wstring互转方法一:string WideToMutilByte(const wstring& _src){int nBufSize = WideCharToMultiByte(GetACP(), 0, _src.c_str(),-1, NULL, 0, 0, FALSE);char *szBuf = new char[nBufSize];WideCharT

2008-06-01 15:29:00 1571

原创 如何调试程序的 Release 版本?(转)

很多时候程序的 Debug 版本运行没有任何问题,但是一旦发布 Release 版本后,运行就出错,着实让人郁闷。大家知道,VC++ 中 Release 版本是对无法对源代码进行调试的。一般的做法是在怀疑有错误的代码前后插入MessageBox 函数,在函数中显示可能导致错误的变量的值。或者插入写文件的语句,输出可能导致错误的变量的值到一个记录文件。其实,除了上面讲的这个办法之外,还有其它的途径来

2008-06-01 15:23:00 535

原创 洗牌算法

洗牌即产生指定数据的随机序列。在网上找了半天大体有两种做法1、  思路:将54个数依次放到随机的位置。关键是每次找一个随机的位置。下面是找这个随机位置的算法: 1、用一个Bool型数组记录各个位置是否已经放置了数,如果放置则置true,没有则为false。在算法开始时数组初始化为false。2、每次产生一个0~53的随机数,看这个位置是否已经放置了数,如果已经放置了,则继续用同样的方法找一个随机位

2007-10-07 20:43:00 789

原创 一条检测内存泄露的函数

_CrtDumpMemoryLeaksDumps all of the memory blocks in the debug heap when a memory leak has occurred (debug version only).int _CrtDumpMemoryLeaks( void );Routine Required Header Compatibility _Cr

2007-10-07 20:40:00 717

原创 md5 c++实现(转Gameres.com)

md5 c++实现 //md5.h文件 /*******************************************************************************  Copyright (C) 2000 by Robert Hubley.                 

2007-10-07 19:17:00 885

原创 VC++的链接错误LNK2001(转azure)

学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为:unresolved ext

2007-10-07 19:08:00 586

原创 BitBlt详解

函数功能:该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。函数原型:BOOL BitBlt(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop);参数:hdcDest:指向目标设备环境的句柄。

2007-10-07 19:02:00 12442

原创 得到每帧的渲染耗时

Getting the Time for Each FrameTo accurately time your animations, you need to call the QueryPerformanceCounter functiontwice within the game loop: once before you start a drawing, and once after al

2007-10-07 18:59:00 1086

原创 一个精度很高的计时器

//---------------------------------------------------------------------------// get the millseconds from the demo start - time line//-----------------------------------------------------------------

2007-10-07 13:43:00 1845

原创 一个简单的随机函数(转azure)

 // A random number generator. Values range from -1..1float semirand(int x)...{  x = (x13) ^ x;  return ( 1.0f - ( (x * (x * x * 15731 + 789221) + 1376312589) & 0x7fffffff) / 1073741824.0f); }

2007-10-07 13:38:00 629

Software.Engineering.and.Computer.Games

一本国外经典讲计算机游戏软件工程的好书,值得一看哦!

2008-12-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除