自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

转载 Boost下载安装编译配置使用指南(含Windows和Linux)

理论上,本文适用于boost的各个版本,尤其是最新版本1.39.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等。先总结一下Windows系统。一、下载首先从boost官方主页http:/

2011-08-28 00:22:31 717

原创 常用几何算法

<br />1. 矢量减法<br /><br /><br />设二维矢量 P = (x1,y1) ,Q = (x2,y2)<br />则矢量减法定义为: P - Q = ( x1 - x2 , y1 - y2 )<br />显然有性质 P - Q = - ( Q - P )<br />如不加说明,下面所有的点都看作矢量,两点的减法就是矢量相减;<br /><br /><br />2.矢量叉积<br /><br /><br />设矢量P = (x1,y1) ,Q = (x2,y2)<br />则矢量叉积定义为

2011-04-24 13:25:00 482

原创 C++ VS2008编译选项

 C/C++ 编译器选项         -基本选项卡- General                Additional Include Directions               Debug Information Format                        /Zi 启用调试信息                       /Z7 启

2010-03-13 10:09:00 5633 2

转载 OGRE分析之场景管理

场景的组成、组织、管理……详细分析(6页)

2008-08-30 15:01:00 586

转载 OGRE分析之场景渲染

SceneManager负责场景的管理,而渲染则由RenderSysem统一管理。分析

2008-08-30 15:01:00 659

转载 OGRE分析之消息机制

开始学OGRE总会被他的消息机制搞得晕头转向。消息从哪里来,向哪里去?又是怎样传送的?在分析了OGRE的源代码后,终于弄清楚了消息的来龙去脉。详细分析

2008-08-30 15:00:00 550

转载 OGRE分析之文件系统(三)

OGRE的资源管理功能十分强大,也比较复杂。详细分析

2008-08-30 14:59:00 360

转载 OGRE分析之文件系统(四)

Scripts、序列化、Log分析详细分析

2008-08-30 14:59:00 505

转载 OGRE分析之文件系统(二)

OGRE文件系统的核心是Archive和DataStream。详细分析

2008-08-30 14:58:00 558

转载 OGRE分析之文件系统(一)

OGRE既可以读取普通的文件,又可以读取Zip压缩文件。其文件系统可以分目录管理和文件管理两大部分。从应用层次上,OGRE还提供了配置文件管理、日志文件管理和资源文件管理等。假如再加上mesh文件、字体文件、纹理文件等,OGRE的文件系统可谓十分庞大。配置文件比较常用,因此先从配置文件说起。详细分析

2008-08-30 14:56:00 452

转载 技术系列之 必备外围功能-log

作者:CppExplore 网址:http://www.cppblog.com/CppExplore/log模块是一个小模块,却是每个系统必备的模块。优秀的系统一定会有优秀的log信息,也可以说全面到位的log信息在一定程度上决定了一个系统的健壮性。在linux上,log模块是跟踪程序运行,验证业务逻辑正确的唯一方法。一、功能一个优秀的log系统应该包含以下功能:(1)支持打印到屏幕、文件、soc

2008-08-28 19:18:00 596

转载 技术系列之 线程(一)

作者:CppExplore 网址:http://www.cppblog.com/CppExplore/废话不多说,详细介绍使用线程的优点好处请参考baidu、google。一、线程使用场景。使用线程的方式大致有两种:(1)流水线方式。根据业务特点,将一个流程的处理分割成多个线程,形成流水线的处理方式。产生的结果:延长单一流程的处理时间,提高系统整体的吞吐能力。(2)线程池方式。针对处理时间比较长且

2008-08-28 19:03:00 419

转载 技术系列之 线程(二)

作者:CppExplore  网址:http://www.cppblog.com/CppExplore/为了后面写的《网络模型(二)》,多写一篇关于线程的。线程使用涉及的主要数据结构以及应用框架可以参考http://www.cppblog.com/CppExplore/archive/2008/01/15/41175.html。本文的主要目的是给出linux下实用的线程消息队列实现。一、linux

2008-08-28 19:03:00 385

转载 技术系列之 网络模型(三)多路复用模型

作者:CppExplore 网址:http://www.cppblog.com/CppExplore/多路复用的方式是真正实用的服务器程序,非多路复用的网络程序只能作为学习或着陪测的角色。本文说下个人接触过的多路复用函数:select/poll/epoll/port。kqueue的*nix系统没接触过,估计熟悉了上面四种,kqueue也只是需要熟悉一下而已。一、select模型select原型:

2008-08-28 19:02:00 635

转载 技术系列之 内存管理(三)

作者:CppExplore 地址:http://www.cppblog.com/CppExplore/(2)boost::pool系列。boost的内存池最低层是simple_segregated_storage,类似于Loki中的chunk,在其中申请释放block(boost中把block称为chunk,晕死,这里还是称其为block)采用了和loki的chunk中同样的算法,不同的是simp

2008-08-28 19:01:00 458

转载 技术系列之 网络模型(一)基础篇

作者:CppExplore 地址:http://www.cppblog.com/CppExplore/ 全文针对linux环境。tcp/udp两种server种,tcp相对较复杂也相对比较常用。本文就从tcp server开始讲起。先从基本说起,看一个单线程的网络模型,处理流程如下:socket-->bind-->listen-->[accept-->read-->write-->cl

2008-08-28 19:01:00 444

转载 技术系列之 网络模型(二)

作者:CppExplore 网址:http://www.cppblog.com/CppExplore/本章主要列举服务器程序的各种网络模型,示例程序以及性能对比后面再写。一、分类依据。服务器的网络模型分类主要依据以下几点(1)是否阻塞方式处理请求,是否多路复用,使用哪种多路复用函数(2)是否多线程,多线程间如何组织(3)是否多进程,多进程的切入点一般都是accept函数前二、分类。首先根据是否多路

2008-08-28 19:01:00 565

转载 技术系列之 内存管理(二)

作者:CppExplore 地址:http://www.cppblog.com/CppExplore/2、定长内存池。典型的实现有LOKI、BOOST。特点是为不同类型的数据结构分别创建内存池,需要内存的时候从相应的内存池中申请内存,优点是可以在使用完毕立即把内存归还池中,可以更为细粒度的控制内存块。    与变长的相比,这种类型的内存池更加通用,另一方面对于大量不同的数据类型环境中,会浪费不少内

2008-08-28 19:00:00 362

转载 技术系列之 内存管理(一)

作者:CppExplore 网址:http://www.cppblog.com/CppExplore/服务器设计人员在一段时间的摸索后,都会发现:服务器性能的关键在于内存。从收包到解析,到消息内存的申请,到session结构内存的申请都要小心处理,尽量减少内存数据copy,减少内存动态申请,减少内存检索。为达到这个目的,不同的地方有不同的方法,比如常见的包解析,使用缓冲区偏移以及长度来标识包内字段

2008-08-28 18:59:00 615

转载 技术系列之 定时器(二)

作者:CppExplore 网址:http://www.cppblog.com/CppExplore/一、上篇文章描述。文章《定时器(一)》http://www.cppblog.com/CppExplore/archive/2008/04/02/46111.html实现了一个定时器模块,这个实现每次延时时间到都要扫描所有的定时器对象,效率低下。开始设想的时候,LIST中的定时器对象保存间隔时间段的

2008-08-28 18:58:00 529

转载 技术系列之 定时器(一)

作者:CppExplore 网址:http://www.cppblog.com/CppExplore/一、 基础知识1、时间类型。Linux下常用的时间类型有4个:time_t,struct timeval,struct timespec,struct tm。(1)time_t是一个长整型,一般用来表示用1970年以来的秒数。(2)Struct timeval有两个成员,一个是秒,一个是微妙。

2008-08-28 18:55:00 539

转载 技术系列之 状态机(二)

作者:CppExplore 网址:http://www.cppblog.com/CppExplore/三、状态机实现(2)面向过程方式2、层次状态机模块实现。 与常规状态机相比,它的FSM_STATE结构没有default_func,多了 FSM_STATE_ID parent; FSM_STATE_ID default_child;两个结构。状态机初始化的时候可以指定默认状态,为了防止指定的

2008-08-28 18:54:00 394

转载 技术系列之 状态机(一)

作者:CppExplore 网址:http://www.cppblog.com/CppExplore/一、状态机描述状态机理论最初的发展在数字电路设计领域。在数字电路方面,根据输出是否与输入信号有关,状态机可以划分为Mealy型和Moore型状态机;根据输出是否与输入信号同步,状态机可以划分为异步和同步状态机。而在软件设计领域,状态机设计的理论俨然已经自成一体。Moore型状态机的输出只和当前状态

2008-08-28 18:52:00 827

转载 OGRE分析之设计模式(四)

OGRE分析之设计模式(四)Mythma  Email: mythma@163.com       OGRE的设计结构十分清晰,这得归功于设计模式的成功运用。八、Iterator说到Iterator,让人首先想到的是STL中各种iterators。OGRE源码中广泛用到了STL,尤其是容器map。但OGRE大部分情况下并没有直接使用与容器配套的迭代器,而是在iterator上包

2008-06-28 12:17:00 839

转载 OGRE分析之设计模式(三)

OGRE分析之设计模式: Chain of Responsibility详细内容

2008-06-28 12:15:00 417

转载 OGRE分析之设计模式(二)

分析OGRE用到的设计模式: Adapter Bridge Proxy 详细内容

2008-06-28 12:01:00 407

转载 OGRE分析之设计模式(一)

先从几个简单的模式入手,分析OGRE用到的设计模式。SingletonFactory MethodAbstract Factory详细内容

2008-06-28 11:59:00 604

空空如也

空空如也

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

TA关注的人

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