
vs2010
SuperKuku
在从事游戏开发的6年时间里面,涉及的内容包括运营平台、GM工具、MMORPG、FPS游戏。游戏都已经上线并且稳定运营中,单服务器的承载量在1万-5万之间。
展开
-
vs2008工程转变vs2010工程
我们的服务器工程无论是c++还是c#直接转换就完成了,主要问题出在了1.property sheet转换成props文件上和对于#import的使用。转化了以后少了不少的内容,2.import不能自动链接system32文件夹下的内容了。3.原来的工程之间dependencies关系的时候,build的时候会自动链接。现在已经不行了,现在需要专门设置reference. 在工程属性的C原创 2012-11-13 10:19:13 · 885 阅读 · 0 评论 -
visual studio的/stack设置
对于服务器来说,直接吧stack设置大一点。在这个物理内存不是钱的年代貌似一点问题没有。提升了服务器性能,仅仅降低启动速度。但是实际上并非如此。stack资源是跟随这线程来的。每个线程都有自己的stack资源。所以设置了这个后,会根据实际的线程数,内存资源使用量倍增。原创 2015-01-20 16:18:40 · 1450 阅读 · 0 评论 -
Overlap IO与IOCP对比
有关Overlap与IOCP的区别一直搞的不是很清楚。最近仔细分别用两种方式写了一次代码,总算搞清楚了。其实归结到就一句。IO完成后的回调处理是否支持多线程处理。区别很简单。在进行WSARecv,WSARecvFrom,WSASend,WSASendTo函数调用之后,如果使用Overlap IO,则需要使用WaitForMultiEvents把所有的Overlap的Event数组作为参原创 2013-05-31 09:38:53 · 2338 阅读 · 0 评论 -
window 时间获取
在windows中有几种类型的时间函数time(): 获取从1970.1.1 0:0:0开始的秒数。精度秒timeGetTime(): 获取服务器开机以来的时间。最长49.7天。精度系统时间片精度,基本保证时间精度在1-16之间。基本上是1ms左右GetTickCount(): 获取服务器开机以来的时间。最长49.7天。精度系统时间片精度。win7 15-16msQueryPerf原创 2013-05-22 18:21:42 · 812 阅读 · 0 评论 -
vs2010析构过程与虚函数指针
在vs2010中,调用析构函数后,该对象的虚函数指针,会指向基类的虚函数表。比如:class TBase{public:virtual void TT(){printf(__FUNCTION__"\n");};}class TChild : public TBase{public:virtual void TT(){printf(__原创 2013-05-20 14:41:14 · 942 阅读 · 0 评论 -
有关vs2010 release版本调试this指针问题
这里会涉及两个问题,一个是如何实现vs2010调试的问题,一个是调试时this指针可能错误的问题1.如何实现vs2010调试a.设置Properties->Linker->Generate Debug Info:Yes(/DEBUG)b.设置C/C++->General->Debug Information Format:Program Database(/Zi)这样就实现了rel原创 2013-05-02 21:42:42 · 1403 阅读 · 0 评论 -
获取成员函数地址3种方法
class IntTT{public: virtual void TV(){printf(__FUNCTION__"\n");};};typedef void (IntTT::*Func)();union{ long long addr; Func f;}ut;void main(){ ut.f = &IntTT::TV; void* p2 = (void*)&原创 2013-03-20 19:46:28 · 1531 阅读 · 0 评论 -
从汇编看指针和引用
int i1 = 1, i2 = 2; int& ir = i1; int* ip = &i2; void* vp = (void*)((size_t&)(ip));00DF3CC4 mov eax,dword ptr [ip] 00DF3CC7 mov dword ptr [vp],eax void* vp1 = (void*)((size_原创 2013-03-21 11:18:30 · 1488 阅读 · 2 评论 -
虚函数调用汇编
tP->TV();00F2167A mov eax,dword ptr [tP] // 把对象指针放入eax00F21680 mov edx,dword ptr [eax] // 对象指针地址的最前面放置着该对象的虚地址指针,取虚地址指针00F21682 mov esi,esp 00F21684 mov原创 2013-03-20 19:51:41 · 928 阅读 · 0 评论 -
vs2012 STL vector
最近项目的开发库大量使用了STL,为了确认内存已经性能问题,只能拿起代码看看。vs2012使用的STL是由Dinkumware维护的P.J. Plauger STL版本。与侯捷大作的SGI STl差距还是很大的。而且vs2010开始,该版本进行了一些c++0x的优化,据说性能有不少的提升。所以拿起代码来看看吧。借侯捷的话说就是源码之前,了无秘密。先看使用最多的vector吧。初始化原创 2012-12-22 11:15:23 · 2521 阅读 · 0 评论 -
VS2010 STL hashmap
版本是 V5.20:0009hashmap继承于_Hash,基本所有实现都是对于_Hash得封装。这里主要是阅读一下_Hash的代码流程。首先是hash_map声明template<class _Kty, class _Ty, class _Tr = hash_compare >, class _Alloc = allocator > > class hash_ma原创 2013-03-18 12:08:53 · 1975 阅读 · 0 评论 -
依赖工程的关字节对齐问题
最近由于项目的字节对齐导致了2次比较诡异的内存问题。这里进行一次总结,首先描述一下第一次的现象。我们项目的网络是使用IOCP做的,是一个包含IOCP封装和本地数据结构与网络字节流的序列化和反序列化的一个库。作为一个lib客户端和服务器共用的。一次客户端的开发发现协议内容解析一直不正确,跟踪调试发现同一个结构体大小一下子20,一下子24。然后仔细一看,在lib里面是24,在客户端代码里面原创 2013-01-07 11:06:06 · 1036 阅读 · 0 评论 -
vs2008 sp1 regex
vs2008 sp1添加了TR1, 开始支持如下内容:Smart pointersRegular expression parsingNew containers (tuple, array, unordered set, etc)Sophisticated random number generatorsPolymorphic function wrappersT转载 2012-12-21 22:55:29 · 1321 阅读 · 0 评论 -
STL Performance
最近项目在vs2010上开发,发现有些同学在大量使用STL做服务器的一些Lib开发。我表示会非常有问题。为了确认哪些需要修正,我准备重新看一下简单的容器的代码。然后发现vs2010相对于vs2008的变化很大。查了一下资料看看到底有什么变化:http://blogs.msdn.com/b/vcblog/archive/2009/06/23/stl-performance.aspx1.引翻译 2012-12-21 14:38:57 · 671 阅读 · 0 评论 -
vs2010的c++0x支持
http://blogs.msdn.com/b/vcblog/archive/2008/10/28/lambdas-auto-and-static-assert-c-0x-features-in-vc10-part-1.aspxhttp://blogs.msdn.com/b/vcblog/archive/2009/02/03/rvalue-references-c-0x-features-in原创 2012-12-21 19:18:35 · 1075 阅读 · 0 评论 -
有关Couchbase制作静态链接库嵌入服务器工程
有关Couchbase制作静态链接库嵌入服务器工程1. 文件列表cbsasllibcouchbase-2.4.9\contrib\cbsasl\srccouchbase_iocplibcouchbase-2.4.9\plugins\io\iocpcouchbase_selectlibcouchbase-2.4.9\plugins\io\selectcouch原创 2015-07-06 17:02:27 · 797 阅读 · 0 评论