??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品一区二区久久精品,久久综合鬼色88久久精品综合自在自线噜噜 ,久久99国产一区二区三区http://www.shnenglu.com/makiv/zh-cnWed, 07 May 2025 20:23:49 GMTWed, 07 May 2025 20:23:49 GMT60游戏开发辅助库http://www.shnenglu.com/makiv/archive/2013/10/16/203765.htmlchibchibWed, 16 Oct 2013 05:26:00 GMThttp://www.shnenglu.com/makiv/archive/2013/10/16/203765.htmlhttp://www.shnenglu.com/makiv/comments/203765.htmlhttp://www.shnenglu.com/makiv/archive/2013/10/16/203765.html#Feedback0http://www.shnenglu.com/makiv/comments/commentRss/203765.htmlhttp://www.shnenglu.com/makiv/services/trackbacks/203765.htmlDebuggers

Debugging Tools for Windows
http://www.microsoft.com/whdc/devtools/debugging/default.mspx/

源码控制

TortoiseCVS
http://www.tortoisecvs.org/
CVSGui
http://www.wincvs.org/

CPU性能分析?/span>

在开发进E的最后时? 需要优化你的代码和解决瓉, 下面的工具可以帮助你发现瓉, 扑և每个函数所占用的时间和内存
内存和时间性能分析?/span>
Glowcode
http://www.glowcode.com/
CodeAnalyst
http://developer.amd.com/CPU/CODEANALYST/Pages/default.aspx
DevPartner
http://www.compuware.com/products/devpartner/default.htm
内存性能分析?/span>
MemProf
http://www.gnome.org/projects/memprof/
旉性能分析?/span>
gprof
http://www.gnu.org/software/binutils/manual/gprof-2.9.1/html_mono/gprof.html
LTProf
http://www.lw-tech.com/help.php?folder=ltprof&topic=AboutLTProf.htm

GPU性能分析?/span>

NVperfkit (contains NVperfHUD)
http://developer.nvidia.com/object/nvperfkit_home.html
PIX (Performance Investigation for directX)
http://msdn.microsoft.com/library/en-us/directx9_c/directx/directxsdk/tools/performance.asp
ATI plugin for Microsoft's PIX performance analysis tool
http://www.ati.com/developer/atipix/

代码~写

SciTE
http://scintilla.sourceforge.net/SciTEDownload.html
免费的源码编辑组?/span>
Artistic Style
http://sourceforge.net/projects/astyle/
源码~进和重|格式工?/span>

工程理工具

Open Workbench
http://www.openworkbench.org/
MS工程的另一个选择
Overlord
http://www.phpoverlord.com/
WebCollab
http://webcollab.sourceforge.net/
Z|络的系l工E和工程理

其他工具

TUT: C++ Unit Test Framework
http://tut-framework.sourceforge.net/
C++的单元测试框?/span>
CppUnit
http://cppunit.sourceforge.net/cppunit-wiki/
C__的单元测试框?/span>
NSIS
http://nsis.sourceforge.net/Main_Page
创徏安装文g
Inno Setup
http://www.jrsoftware.org/isinfo.php
创徏安装文g

Ogre的相兛_

应用E序框架

z跃的框?/span>

NeoAxis Engine
http://www.neoaxisgroup.com/
通用的新?D囑Ş引擎, 用于3D模拟, 可视化和游戏. 包含许多的编辑器, 如场? 物理, 材质, _子{等.
使用C#用于脚本.
OGE - Open Game Engine
http://sourceforge.net/projects/oge/
跨^? 多线E的游戏引擎

半活跃的框架

The YAKE Engine
http://www.yake.org/
跨^? 游戏引擎.
WGE
http://www.wreckedgames.com/forum/
SagaEngine
http://www.sagaengine.com/
多^台的游戏引擎.

物理

ODE

http://ode.org/
Ogre使用比较q泛的库, 可用OgreODE

NovodeX/PhysX

http://www.novodex.com/
非商业用? 两个物理包装 NxOgre和Nogredex

Newton Game Dynamics

http://www.newtondynamics.com/
你只需要知道基本的物理法则实现产生真实的物理行? OgreNewt库可以让Newton物理库和你的Ogre应用E序成ؓ一?/span>

True Axis Physics SDK

http://www.trueaxis.com/

DynaMo

http://home.iae.nl/users/starcat/dynamo

The Gangsta Wrapper

http://sourceforge.net/projects/gangsta

OPAL

http://opal.sf.net/
开攄理抽象层(Open Physics Abstraction Layer), Ode的高层接?

Bullet

http://bullet.sf.net/

Artificial intelligence (人工)

现在关于AI引擎应该包含什么内容还没有标准? 但是已有_的普通AI问题在游戏中.
例如路径查找, 需要一ơ又一ơ的重写该算?
大多数Ogre工程使用自定义构建的AI?/span>

OpenAI

http://openai.sourceforge.net/

该AI库的目标是用于OpenGL的图形程? 也意味着不能和DirectX无缝地结?
该AI库用Java所?

FEAR

http://fear.sourceforge.net/index.php
该库q在完成? 没准备实时或游戏应用E序.
试和用该库需要Quake 2

OpenSteer

http://opensteer.sourceforge.net/
C++? 帮助创造游戏和动画中自主角色的N行ؓ. OpenSteer提供了基于OpenGL的应用程?OpenSteerDemo,
该Demo昄了预定的N行ؓ. 通过写OpenSteerDemo的插? 可以快速的使用该用户ؓ原型, 注解, 调试新的N行ؓ.

A* Tactical Pathfinding

http://www.cgf-ai.com/products.html#tacastarexplorer
?游戏E序_aIII(Game Programming Gems III book)"中有q描q?
该简单的Ҏ可以创徏战术路径d新的plA*p函数, q个新的p会反映到暴露l敌? 且相互射?/span>
?http://robertwrose.com/cg 查看Ogre关于A*路径查找的实?/span>

PathLib

http://pathlib.hildebrand.cz/pathlib.html
免费的C++ A*路径查找, 快速且健壮. 带有windows demo, 允许路径试和地囄?支持路径查找l?
?http://robertwrose.com/cg 查看Ogre关于A*路径查找的实?/span>

Garfixia AI Repository

http://www.dossier-andreas.net/ai/index.html
该站点包含AI技术的开源库, 用C++~写. 很棒的材? 非常宝贵的v? FSM(有限状态机), fuzzy, 学习树等, 好东?/span>

MicroPather

http://www.grinninglizard.com/MicroPather/
Ҏ|页介绍:"MicroPather是一个\径查找方法和A*解决Ҏ, 无关q_的C++代码, 可以很轻易的嵌入已存代码. MicroPatherx视频游戏的\径查扑ּ?

Boost Graph Library

http://boost.org/libs/graph/doc/table_of_contents.html
无关q_, 可以执行A*查找

FANN

http://leenissen.dk/fann/
无关q_, 面介绍:
FANN(Fast Artificial Neural Network Library - 快速h工神l网l库), 免费开源神l网l库
用C实现多层人工经|络, 支持全连接和E疏连接网l?

OpenSkyNet

http://openskynet.sourceforge.net/
A*路径查找? 多个对象可以使用相同的格? C++

Recast

http://code.google.com/p/recastnavigation/
无关q_, Recast 是游戏的术D|格构造工具集的状?

|络

需要处理网l性能, 定w, 同时发生控制和安全问? 大多数OgreZ自定义网l库.
下列库对于一些Ogre用户比较有用.

RakNet

http://freshmeat.net/projects/raknet
|页介绍:
RakNet是一个网lAPI, Windows, Linux和Unix的可靠的UDP和高层功能的包装
它允许在相同的电脑或者LAN或者因特网L应用E序联系其他应用E序
虽然他可用于L|络应用E序, 但他可以快速开发在U游戏和d多个玩家臛_个用h?

OpenTNL

http://www.opentnl.org/
面介绍:
q个转矩?Torque Network)是一个强壮的, 安全? 易用的跨^台C++|络API, 设计于高性能斚w和游?/span>

Zoidcom

http://www.zoidcom.com/
|页介绍:
Zoidcom 是一个基于UDP的高层网l库, 在网l连接之上以高效的方式复制游戏对象和同步他们的状?
通过多\传送对象信息给位流, 或者取出对象信? 可以方式发送多余的数据

HawkNL

http://www.hawksoft.com/hawknl/
面介绍: 面向游戏的网lAPI, 底层API. Berkeley/Unix Sockets ?Winsock的包?
其他的特? socketsl? socketsl计, 高精计数器, CRC功能, 用宏d和写数据来打包endian转换. 支持多重|络传输

ENet

http://enet.bespin.org/
面介绍: 目标是提供一个在UDP上的相对? 单纯, 健壮的网l通讯? 主要特色是提供一个可选的可依赖? 有次序的传送包

ZIGE Game Engine:

http://zige.sourceforge.net/
面介绍:
可扩展的客户?服务器游戏引? 除了|络, q提供其他功?
日志, 互动调试控制? 旉控制(用于客户端率和服务器发包率), 自动从服务器下蝲游戏文g到客L, {等
从ZIG的角度看, 需要提供图形渲染器, 声音引擎, 和输入处理的扩展.
你可以插?Allegro, SDL, DirectX, OpenGL {?
ZIP是依赖HaukNL和Pthreads的跨q_C/C++?/span>

SDL_net

http://www.libsdl.org/projects/SDL_net/
|页介绍
SDL_net是一个小且简单的跨^台网l库, 由SDL支持

OgreSocks

http://sourceforge.net/projects/ogresocks/
OgreSocks 是winsock的包装类, 面向Ogre开发者的首要|络? 可以用最的代码l合客户端和服务器的socket

声音

游戏和仿真程序极大的依赖声音和音乐提供氛?/span>

FMOD

http://www.fmod.org/
|页介绍:
FMOD 支持3D声音, midi, mods, mp3, ogg vorbis, wma, aiff, 录音, d/环绕, cd回放, mmx, 因特? dsp效果, 声谱分析
用户采样, 同步支持, ASIO, EAX 2&3{等

OpenAL

http://www.openal.org/
|页介绍: 跨^台的3D声音API, 适合游戏应用E序以及其他cd的声韛_用程?
两个OGRE包装为OgreOggSound和OgreAL

BASS

http://www.un4seen.com/bass.html
|页介绍: BASS是一个用于Windows软g的声韛_, 目标是提供最强大和有效的工具l开发?
可以采样, 处理?MP3, MP2, MP1, OGG, WAV, 自生成的以及其?, MOD音乐(XM, IT, S3M, MOD, MTM, UMX)
MO3音乐(MP3/OGG压羃MODs), 和录韛_? q一切都在小的DLL里面, 大小于100K

Audiere

http://audiere.sourceforge.net/
Audiere 是一个声音的高层API, 可以播放Ogg Vorbis, MP3, FLAC,未压~?WAV, AIFF, MOD, S3M, XM, ?IT
作ؓ声音输出, Audiere支持 DirectSound或Windows的WinMM, Linux的OSS, Cygwin, SGI AL

irrKlang:

http://ambiera.com/irrklang
面介绍: 3D?D跨^台声韛_, 可播放WAV, MP3, OGG, MOD, XM, IT, S3M 和更多的文g格式, 可用于C__和所有的.NET语言

cAudio:

http://deathtouchstudios.com/xoops/modules/smartsection/item.php?itemid=3
面介绍:
cAudio引擎是OpenAL的C++的包? 允许你很L的得到声韛_音乐, q放入你的游戏中.
OpenAL的问题是光帔R以用在游戏中. cAudio使用OpenAL控制声音的所有方?
Vorbis库用于解码和播放.ogg文g? Mikmod用于mod,xm,it,?s3d支持

脚本

Lua

http://www.lua.org/
可以被Ogre调用的库, 可以在C++应用E序中调?/span>
|页介绍:
Z兌数组和可扩展的语? l合了简单的q程语义和强大的数据描述. Lua是动态类? 逐字节解? 自动内存理(垃圾回收)
适合配置, 脚本, 和快速构造原? 可通过luabindLuaE序嵌入Ogre?/span>
luabind
http://www.rasterbar.com/products/luabind.html

LuaPlus

http://luaplus.org/tiki-index.php?page=LuaPlus%20Home%20Page
Lua面向C++的调试工?visual studio插g), 优化

Java

http://java.sun.com/
可通过Ogre扩展ogre4j在Ogre中用Java

Python

http://www.python.org/
动态类型的, 字节码解释? 面向对象的语a.
可通过PyOgre使用Python
在Ogre C++应用E序中内嵌Python脚本
http://www.ogre3d.org/forums/viewtopic.php?t=8131
psyco
http://psyco.sourceforge.net/

Ruby

http://www.ruby-lang.org/en

Squirrel

http://squirrel-lang.org/
Squirrel 是一高命o/面向对象的程序语a. 设计于一强大的脚本工? 使其对应用程序有合适的大小, 内存大小, 和实旉?/span>
语法cMC/C++/Java, 也有?python/lua的动态性质.
APIcMLua
wiki入口
http://www.ogre3d.org/wiki/index.php/Squirrel_Scripting_Language

AngelScript

http://www.angelcode.com/angelscript/
高E序语言, 语法cMC/C++

GameMonkey

http://www.somedude.net/gamemonkey/
高内嵌脚本语言, cMLua和AngleScript

Falcon

http://www.falconpl.org/
提供了六个完整的E序CZ: q程? 面向对象, 面向原型, 功能性的, 表格式的, 面向消息. 多线E? 且类gLua的基本语?/span>

输入

OIS

http://sourceforge.net/projects/wgois
OIS是输入管理的? 非常易于使用, 可用于多q_
Wiki
http://www.ogre3d.org/wiki/index.php/Using_OIS

SDL

http://www.libsdl.org/
面介绍:
Simple DirectMedia Layer的羃? 是一个跨q_的多媒体? 设计用于底层讉K声音, 键盘, 鼠标, 摇杆, 通过OpenGL讉K3Dg, 2D昑֍~存
如何在Ogre中用SDL
http://www.ogre3d.org/wiki/index.php/Using_SDL_Input

LibGII

http://www.ggi-project.org/packages/libgii.html
面介绍:
LibGII 面向囑Ş的输? 目标易用
如何在Ogre中?/span>
http://www.ogre3d.org/wiki/index.php/GII

OpenInput

http://home.gna.org/openinput
跨^? 易用和轻量的输入处理? 用C语言所?/span>

GUI

Berkelium

http://www.ogre3d.org/forums/viewtopic.php?f=11&t=54484
用于Chrome览器的|页渲染?包装

MyGui

http://www.ogre3d.org/addonforums/viewforum.php?f=17&sid=2249e1917f815d6a9b1f397dd08b072c
好且完整的GUIpȝ

Navi

http://princeofcode.com/forums
OGRE的网|染器, 支持flash, 使用Chromium|络工具包渲染引?
使用已存~辑器制作gui

Hikari

http://princeofcode.com/forums
用于OGRE的flash播放?/span>

Cegui Layout Editor

http://www.cegui.org.uk/wiki/index.php/CELayoutEditor_Downloads_0.6.2
GUI~辑? 用于CEGUI

Open GUI

http://opengui.rightbracket.com/index.php
?D应用E序中易用且易扩展的GUI框架

其他工具

Libnoise

http://libnoise.sourceforge.net/
libnoise 是一M的C++? 用于生成协调的干? qx变化的干? Perlinq扰, 很多片段q扰, 以及其他cd相干q扰
可用于图形程序生成自然纹? 行星地Ş和其他东?/span>

OgreMP

https://sourceforge.net/projects/ogremp
用于Ogre的跨q_U程?/span>

SimpleFileWatcher

http://simplefilewatcher.googlecode.com/
跨^? 得到文g/目录变化的的?/span>


chib 2013-10-16 13:26 发表评论
]]>
theadhttp://www.shnenglu.com/makiv/archive/2013/09/29/203496.htmlchibchibSun, 29 Sep 2013 15:31:00 GMThttp://www.shnenglu.com/makiv/archive/2013/09/29/203496.htmlhttp://www.shnenglu.com/makiv/comments/203496.htmlhttp://www.shnenglu.com/makiv/archive/2013/09/29/203496.html#Feedback0http://www.shnenglu.com/makiv/comments/commentRss/203496.htmlhttp://www.shnenglu.com/makiv/services/trackbacks/203496.html  1 /**  2 ...  阅读全文

chib 2013-09-29 23:31 发表评论
]]>
randhttp://www.shnenglu.com/makiv/archive/2013/05/21/200482.htmlchibchibTue, 21 May 2013 15:58:00 GMThttp://www.shnenglu.com/makiv/archive/2013/05/21/200482.htmlhttp://www.shnenglu.com/makiv/comments/200482.htmlhttp://www.shnenglu.com/makiv/archive/2013/05/21/200482.html#Feedback0http://www.shnenglu.com/makiv/comments/commentRss/200482.htmlhttp://www.shnenglu.com/makiv/services/trackbacks/200482.html// MersenneTwister.h// Mersenne Twister random number generator&...  阅读全文

chib 2013-05-21 23:58 发表评论
]]>
隨機數生?/title><link>http://www.shnenglu.com/makiv/archive/2013/05/21/200480.html</link><dc:creator>chib</dc:creator><author>chib</author><pubDate>Tue, 21 May 2013 15:52:00 GMT</pubDate><guid>http://www.shnenglu.com/makiv/archive/2013/05/21/200480.html</guid><wfw:comment>http://www.shnenglu.com/makiv/comments/200480.html</wfw:comment><comments>http://www.shnenglu.com/makiv/archive/2013/05/21/200480.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/makiv/comments/commentRss/200480.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/makiv/services/trackbacks/200480.html</trackback:ping><description><![CDATA[<p>inline void MTRand::reload()<br />{<br /> // Generate N new values in state<br /> // Made clearer and faster by Matthew Bellew (<a href="mailto:matthew.bellew@home.com">matthew.bellew@home.com</a>)<br /> register uint32 *p = state;<br /> register int i;<br /> for( i = N - M; i--; ++p )<br />  *p = twist( p[M], p[0], p[1] );<br /> for( i = M; --i; ++p )<br />  *p = twist( p[M-N], p[0], p[1] );<br /> *p = twist( p[M-N], p[0], state[0] );</p> <p> left = N, pNext = state;<br />}</p><br />uint32 randInt( const uint32& n )<br />{<br /> // Find which bits are used in n<br /> // Optimized by Magnus Jonsson (<a href="mailto:magnus@smartelectronix.com">magnus@smartelectronix.com</a>)<br /> uint32 used = n;<br /> used |= used >> 1;<br /> used |= used >> 2;<br /> used |= used >> 4;<br /> used |= used >> 8;<br /> used |= used >> 16;<br /> <br /> // Draw numbers until one is found in [0,n]<br /> uint32 i;<br /> do<br />  i = randInt() & used;  // toss unused bits to shorten search<br /> while( i > n );<br /> return i;<br />}<br /><br />inline MTRand::uint32 MTRand::randInt()<br />{<br /> // Pull a 32-bit integer from the generator state<br /> // Every other access function simply transforms the numbers extracted here<br /> <br /> if( left == 0 ) reload();<br /> --left;<br />  <br /> register uint32 s1;<br /> s1 = *pNext++;<br /> s1 ^= (s1 >> 11);<br /> s1 ^= (s1 <<  7) & 0x9d2c5680UL;<br /> s1 ^= (s1 << 15) & 0xefc60000UL;<br /> return ( s1 ^ (s1 >> 18) );<br />}<br /><br />uint32 urand (uint32 min, uint32 max)<br />{<br />  return mtRand.get ().randInt (max - min) + min;<br />}<br /><br /><br /><br />///////////////////<br /> <p>static long s_lHoldRand = 19790213L;<br />void rtRandomSeed(unsigned int seed)<br />{<br />    s_lHoldRand = (long)seed;<br />}</p> <p>int rtRandom()<br />{<br />    return(((s_lHoldRand = s_lHoldRand * 214013L + 2531011L) >> 16) & 0x7fff);<br />}<br /></p><img src ="http://www.shnenglu.com/makiv/aggbug/200480.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/makiv/" target="_blank">chib</a> 2013-05-21 23:52 <a href="http://www.shnenglu.com/makiv/archive/2013/05/21/200480.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>游戏开发之客户端技术ȝhttp://www.shnenglu.com/makiv/archive/2013/04/03/199070.htmlchibchibWed, 03 Apr 2013 06:48:00 GMThttp://www.shnenglu.com/makiv/archive/2013/04/03/199070.htmlhttp://www.shnenglu.com/makiv/comments/199070.htmlhttp://www.shnenglu.com/makiv/archive/2013/04/03/199070.html#Feedback0http://www.shnenglu.com/makiv/comments/commentRss/199070.htmlhttp://www.shnenglu.com/makiv/services/trackbacks/199070.htmlhttp://www.mobilegamebase.com/blog/article.asp?id=31

chib 2013-04-03 14:48 发表评论
]]>
开源图形引擎及开源游?/title><link>http://www.shnenglu.com/makiv/archive/2013/03/14/198426.html</link><dc:creator>chib</dc:creator><author>chib</author><pubDate>Thu, 14 Mar 2013 10:43:00 GMT</pubDate><guid>http://www.shnenglu.com/makiv/archive/2013/03/14/198426.html</guid><wfw:comment>http://www.shnenglu.com/makiv/comments/198426.html</wfw:comment><comments>http://www.shnenglu.com/makiv/archive/2013/03/14/198426.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/makiv/comments/commentRss/198426.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/makiv/services/trackbacks/198426.html</trackback:ping><description><![CDATA[<div style="margin-bottom: 8px; font-weight: bold">开源游戏引擎及游戏</div>1、游戏引?br />Ogre3D游戏引擎<br /><a >http://www.ogre3d.org/</a><br /><br />Quake3游戏引擎<br /><a >http://www.ioquake3.org/</a><br /><br /><a >http://www.vorbis.com/</a><br /><br />http://www.libsdl.org/<br /><br />Irrlicht游戏引擎<br /><a >http://irrlicht.sourceforge.net/</a><br /><br />Crystalspace3D游戏引擎<br /><a >http://www.crystalspace3d.org/main/Main_Page</a><br /><br />Sylphis3D 游戏引擎<br /><a >http://devnet.sylphis3d.com/</a><br /><br />更多3D引擎参考List of game engines<br /><br />2、游?br /><a >http://red.planetarena.org/</a><br /><a >http://tremulous.net/</a><br /><a >http://www.wesnoth.org/</a><br /><a >http://www.globulation2.org</a><br /><a >http://www.urbanterror.net/</a><br /><a >http://www.worldofpadman.com/</a><br /><a >http://www.scorched3d.co.uk/</a><br /><a >http://maniadrive.raydium.org/</a><br /><a >http://www.planeshift.it/</a><br /><br /><a class="postlink" target="_blank"><font color="#009933">https://developer.berlios.de/projects/lashkar/</font></a>   Zogre<br /><br />只整理一些较大的在架构实C值得借鉴的游戏,更多右下参看100 of the Best Legal Free Full Version Games You Can Download Online<br /><br />3、社?br /><a >http://www.devmaster.net/</a><br /><a >http://freegamer.blogspot.com/</a><br /><a >http://www.gamedev.net</a><br /><a >http://www.replays.net</a><br /><br />4、参考资?br /><a >http://en.wikipedia.org/wiki/List_of_game_engines</a><br /><a >http://membres.lycos.fr/frochet/3d_engine_list.htm</a><br />http://www.cnblogs.com/cyberchen-net/archive/2007/03/04/663597.html<br /><br />100 of the Best Legal Free Full Version Games You Can Download Online<br /><br />http://games.slashdot.org/article.pl?sid=07/04/06/1638232 <img src ="http://www.shnenglu.com/makiv/aggbug/198426.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/makiv/" target="_blank">chib</a> 2013-03-14 18:43 <a href="http://www.shnenglu.com/makiv/archive/2013/03/14/198426.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>游戏~程技术点ȝhttp://www.shnenglu.com/makiv/archive/2013/02/22/197987.htmlchibchibThu, 21 Feb 2013 16:30:00 GMThttp://www.shnenglu.com/makiv/archive/2013/02/22/197987.htmlhttp://www.shnenglu.com/makiv/comments/197987.htmlhttp://www.shnenglu.com/makiv/archive/2013/02/22/197987.html#Feedback0http://www.shnenglu.com/makiv/comments/commentRss/197987.htmlhttp://www.shnenglu.com/makiv/services/trackbacks/197987.htmlhttp://www.cnblogs.com/cnas3/archive/2011/05/28/2061028.html 
键盘操作Q角色移动同步:http://www.cnblogs.com/cnas3/archive/2011/08/20/2147390.html
http://blog.csdn.net/haoel/article/details/1948051/
http://www.cnblogs.com/Ripper-Y/archive/2012/05/15/2501930.html

q行时的安全查:http://www.hackbase.com/lib/2006-01-07/13755.html
C++q代器特性:http://hi.baidu.com/nicker2010/item/9fe2e7e4d25a8a058c3ea8eb

q程U程函数win和linux对照Q?a >http://blog.chinaunix.net/uid-20321537-id-1966824.html

http://www.doc88.com/p-749828182012.html

IOCP,EPoll区别和描q。网l游戏服务器端一些注意事?br />http://hi.baidu.com/freeknight/item/9c56aa1749853a701109b55f

谈|络游戏同步
http://dev.gameres.com/Program/Abstract/DeadReckoning.htm
|络游戏服务器设计:同步 npc
http://www.cnblogs.com/kex1n/archive/2012/09/17/2688980.html
|络游戏三大技术难?br />http://home.donews.com/donews/forum/35/2006-04/05/601475.html
|络游戏服务器开?br />http://www.cnblogs.com/steven_oyj/category/248183.html
q程从加载到执行的方式:http://bbs.chinaunix.net/thread-1251403-1-1.html

内存池实?(思\) http://www.shnenglu.com/API/archive/2013/03/16/198479.html


chib 2013-02-22 00:30 发表评论
]]>
#pragma 详解http://www.shnenglu.com/makiv/archive/2011/04/19/144572.htmlchibchibTue, 19 Apr 2011 10:15:00 GMThttp://www.shnenglu.com/makiv/archive/2011/04/19/144572.htmlhttp://www.shnenglu.com/makiv/comments/144572.htmlhttp://www.shnenglu.com/makiv/archive/2011/04/19/144572.html#Feedback2http://www.shnenglu.com/makiv/comments/commentRss/144572.htmlhttp://www.shnenglu.com/makiv/services/trackbacks/144572.html   
   
  一   message参数?   
   
  它能够在~译信息输出H口中输出相应的信息Q这对于源代码信息的控制是非帔R要的? 
   
  其用方法ؓQ?         
      #pragma   message("消息文本")      
   
  当编译器遇到q条指o时就在编译输出窗口中消息文本打印出来?     
  当我们在E序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设|这些宏Q此时我们可以用q条指o在编译的时候就q行查。假设我们希望判断自己有没有在源代码的什么地方定义了_X86q个宏可以用下面的方?     
      #ifdef   _X86      
      #pragma   message("_X86   macro   activated!")      
      #endif      
  当我们定义了_X86q个宏以后,应用E序在编译时׃在编译输出窗口里昄"_X86   macro   activated!"。我们就不会因ؓ不记得自己定义的一些特定的宏而抓x腮了?     
   
           
  ?  另一个用得比较多的#pragma参数是code_seg? 
   
  格式如:  
      #pragma   code_seg(   [   [   {   push   |   pop},   ]   [   identifier,   ]   ]   [   "segment-name"   [,   "segment-class"   ]   )    
   
  该指令用来指定函数在.obj文g中存攄节,观察obj文g可以使用VC自带的dumpbin命o行程序,函数?obj文g中默认的存放节ؓ.text节。如果code_seg没有带参数的?则函数存攑֜.text节中? 
   
      push                         (可选参?一个记录放到内部编译器的堆栈中Q可选参数可以ؓ一个标识符或者节名;  
      pop                           (可选参?一个记录从堆栈端弹出Q该记录可以Z个标识符或者节名;  
      identifier             (可选参?当用push指oӞ为压入堆栈的记录指派的一个标识符Q当该标识符被删除的时候和其相关的堆栈中的记录                                                         被弹出堆栈Q?   
      segment-name     (可选参?表示函数存放的节名? 
   
  例如:  
  //默认情况下,函数被存攑֜.text节中  
  void   func1()   {                                     //   stored   in   .text  
  }  
   
  //函数存攑֜.my_data1节中  
  #pragma   code_seg(".my_data1")  
  void   func2()   {                                     //   stored   in   my_data1  
  }  
   
  //r1为标识符Q将函数攑օ.my_data2节中  
  #pragma   code_seg(push,   r1,   ".my_data2")  
  void   func3()   {                                     //   stored   in   my_data2  
  }  
   
  int   main()   {  
  }  
   
   
  ?  #pragma   once(比较常用Q?     
   
  q是一个比较常用的指oQ只要在头文件的最开始加入这条指令就能够保证头文件被~译一? 
           
   
  ?  #pragma   hdrstop表示预编译头文g到此为止Q后面的头文件不q行预编? 
   
  BCB可以预编译头文g以加快链接的速度Q但如果所有头文g都进行预~译又可能占太多盘I间Q所以用这个选项排除一些头文g。有时单元之间有依赖关系Q比如单元A依赖单元BQ所以单元B要先于单元A~译。你可以?pragma   startup指定~译优先U,如果使用?pragma   package(smart_init)QBCB׃Ҏ优先U的大小先后~译?       
   
   
  ?  #pragma   warning指o  
   
  该指令允许有选择性的修改~译器的警告消息的行为,指o格式如下:  
      #pragma   warning(   warning-specifier   :   warning-number-list   [;   warning-specifier   :   warning-number-list...]  
      #pragma   warning(   push[   ,n   ]   )  
      #pragma   warning(   pop   )  
   
  主要用到的警告表C有如下几个:  
   
      onceQ?      只显CZ?警告/错误{?消息  
      defaultQ重|编译器的警告行为到默认状? 
      1,2,3,4Q四个警告? 
      disableQ禁止指定的警告信息  
      errorQ?    指定的警告信息作ؓ错误报告  
   
  如果大家对上面的解释不是很理?可以参考一下下面的例子及说? 
     
      #pragma   warning(   disable   :   4507   34;   once   :   4385;   error   :   164   )      
  {h于:      
      #pragma   warning(disable:4507   34)     //   不显C?507?4可告信?     
      #pragma   warning(once:4385)                 //   4385可告信息仅报告一?     
      #pragma   warning(error:164)                 //   ?64可告信息作Z个错误?     
  同时q个pragma   warning   也支持如下格式:      
      #pragma   warning(   push   [   ,n   ]   )      
      #pragma   warning(   pop   )      
  q里n代表一个警告等U?1---4)?     
      #pragma   warning(   push   )保存所有警告信息的现有的警告状态?     
      #pragma   warning(   push,   n)保存所有警告信息的现有的警告状态,q且把全局警告{讑֮为n?       
      #pragma   warning(   pop   )向栈中弹出最后一个警告信息,在入栈和出栈之间所作的一切改动取消? 
  例如Q?     
      #pragma   warning(   push   )      
      #pragma   warning(   disable   :   4705   )      
      #pragma   warning(   disable   :   4706   )      
      #pragma   warning(   disable   :   4707   )      
      #pragma   warning(   pop   )  
   
  在这D代码的最后,重新保存所有的警告信息(包括4705Q?706?707)  
   
  在用标准C++q行~程的时候经怼得到很多的警告信息,而这些警告信息都是不必要的提C,所以我们可以?pragma   warning(disable:4786)来禁止该cd的警告。在vc中用ADO的时候也会得C必要的警告信息,q个时候我们可以通过#pragma   warning(disable:4146)来消除该cd的警告信息? 
   
   
  ?  pragma   comment(...)  
   
  该指令的格式为:      
      #pragma   comment(   "comment-type"   [,   commentstring]   )  
             
  该指令将一个注释记录放入一个对象文件或可执行文件中Q? 
      comment-type(注释cd)Q可以指定ؓ五种预定义的标识W的其中一U,五种预定义的标识Wؓ:  
          compilerQ将~译器的版本号和名称攑օ目标文g?本条注释记录被~译器忽略。如果你记录cd提供了commentstring参数Q编                             译器会产生一个警告。例?#pragma   comment(   compiler   )  
          exestr:       commentstring参数攑օ目标文g中,在链接的时候这个字W串被攑օ到可执行文g中,当操作系l加载可执行文g的时?                            Q该参数字符串不会被加蝲到内存中。但是,该字W串可以被dumpbin之类的程序查扑ևq打印出来,你可以用q个标识W将?                              本号码之cȝ信息嵌入到可执行文g?  
          lib:             q是一个非常常用的关键字,用来一个库文g链接到目标文件中常用的lib关键字,可以帮我们连入一个库文g?     
                              例如:                                
                                  #pragma   comment(lib,   "user32.lib")      
                              该指令用来将user32.lib库文件加入到本工E中? 
          linker:       一个链接选项攑օ目标文g中,你可以用这个指令来代替由命令行传入的或者在开发环境中讄的链接选项Q你可以?                                    ?include选项来强制包含某个对象,例如:                
                                  #pragma   comment(linker,   "/include:__mySymbol")  
                              你可以在E序中设|下列链接选项  
   
                                                      /DEFAULTLIB    
                                                      /EXPORT    
                                                      /INCLUDE    
                                                      /MERGE    
                                                      /SECTION    
   
   
                              q些选项在这里就不一一说明了,详细信息Lmsdn!  
          user:           一般的注释信息攑օ目标文g中commentstring参数包含注释的文本信息,q个注释记录被链接器忽? 
                              例如:           #pragma   comment(   user,   "Compiled   on   "   __DATE__   "   at   "   __TIME__   )

chib 2011-04-19 18:15 发表评论
]]>
^M: bad interpreter: No such file http://www.shnenglu.com/makiv/archive/2011/04/15/144317.htmlchibchibFri, 15 Apr 2011 09:16:00 GMThttp://www.shnenglu.com/makiv/archive/2011/04/15/144317.htmlhttp://www.shnenglu.com/makiv/comments/144317.htmlhttp://www.shnenglu.com/makiv/archive/2011/04/15/144317.html#Feedback0http://www.shnenglu.com/makiv/comments/commentRss/144317.htmlhttp://www.shnenglu.com/makiv/services/trackbacks/144317.htmlwindows写的脚本E序Q在传到linux下,d执行权限Q执行后会提C: /usr/bin/python^M: bad interpreter: 没有那个文g或目?br>
分析Q?br>q是不同pȝ~码格式引v的:在windowspȝ中编辑的.sh .py文g可能有不可见字符Q所以在Linuxpȝ下执行会报以上异怿息。一般是因ؓwindows行结֒linux行结标识不同造成的?br>
解决Q?br>1Q在windows下{换:
利用一些编辑器如UltraEdit或EditPlus{工具先脚本编码{换,再放到Linux中执行。{换方式如下(UltraEditQ:File-->Conversions-->DOS->UNIX卛_?
2Qlinux下直接替换:
sed -i 's/^M//g'  filename Q注意^M 在linux 下写?按^M 是回车换行符,输入Ҏ是按住CTRL+v,村ּv,按m)
3Q也可在Linux中{换:
首先要确保文件有可执行权?
#sh>chmod a+x filename

然后修改文g格式
#sh>vi filename

利用如下命o查看文g格式
:set ff ?:set fileformat

可以看到如下信息
fileformat=dos ?fileformat=unix

利用如下命o修改文g格式
:set ff=unix ?:set fileformat=unix

:wq (存盘退?

最后再执行文g
#sh>./filename



chib 2011-04-15 17:16 发表评论
]]>
VSq程调试http://www.shnenglu.com/makiv/archive/2011/04/12/144035.htmlchibchibTue, 12 Apr 2011 07:03:00 GMThttp://www.shnenglu.com/makiv/archive/2011/04/12/144035.htmlhttp://www.shnenglu.com/makiv/comments/144035.htmlhttp://www.shnenglu.com/makiv/archive/2011/04/12/144035.html#Feedback1http://www.shnenglu.com/makiv/comments/commentRss/144035.htmlhttp://www.shnenglu.com/makiv/services/trackbacks/144035.html

VSq程调试

1. 查找msvcmon.exeQ?/font>VS2003?/font>msvcmon位于Microsoft Visual Studio .NET 2003\Common7\Packages\Debugger下,直接复制目录debugger到远E服务器下?/font>

2. q入q程服务器的debugger目录下,做个批处理文件内容ؓQ?/font>msvcmon  -tcpip  -anyuser   -timeout  -1

3. q行批处?/span>

4. 保证需要调试的q程已经启动Q同时在执行文g下有相应?font face="Times New Roman">pdb文g

5. 本地VS中,工具->调试q程->传输Q选择 TCP/IPQ名UC输入q程服务?/font>IP回R

6. 在进E列表中选择你要调试的进E,附加后,可以正常调试远E进E了?/span>



chib 2011-04-12 15:03 发表评论
]]>
þavרavһ| þþþþþ92| þseƷһƷ| 91Ʒ91Ⱦþþþø| Ʒ99þþþþè| Ƭѹۿþ| þþþþAVר| Ʒŷ޺ձþ| ۺϳ˾þС˵| ˳AVɫۺϾþ| þ99Ʒŷ| þþþþþž99Ʒ| þseƷһƷ| 鶹Ʒþþþþþ99| ŷþþƷһcƬƬ| ҹþþþþþþþ| ۿþ| ˮϵþþƷ| RE99þþƷ66| ƷëƬþþþþþ| þþƷav鶹ͼƬ| 97Ʒ97þþþþ| AVþüįٸ| þþù99þùһ| ?VþþƷ| þþþӰԺС | ŷ龫Ʒþþþ| ޺ݺۺϾþþþ | ŷþþXXX| þøԴƷ999| ھƷþþþþþ| ۺϾþĻ| þþƷž޾Ʒ| AVþþþò| þùƷӰԺ| Ļþۺ| ޾Ʒ99þþþĻ | ھƷþþþþþþõӰ| ޹Ʒľþþ| þ޾Ʒۿ| þþоƷĻ|