2008年09月01日

原创 完成端口的BUG?收藏

s = createsocket(); //假定s返回值是10 CreateIoCompletionPort(s, m_hCompletionPort, (DWORD_PTR)&A, 0); WSASend(s,...); WSASend(s,...); WSASend(s,...); WSASend(s,...); WSASend(s,...); 这个时候,完成端口里累计了多条跟s相关的数据,由于完成端口的线程暂时繁忙,未来得及处理s关闭后的失败数据 阅读全文>

发表于 @ 2008年09月01日 09:39:00|评论(loading...)|编辑|收藏

2008年05月20日

原创 VC的类型推导问题收藏

由于代码要兼容64位系统,所以,跟指针有关联的整数全部都是适用的INT_PTR和UINT_PTR类型。这两个东西在32位系统下被定义成:

__w64 int和__w64 unsigned int.

 但是,VC的模板参数推导机制里,似乎是没有__w64这样的修饰的,因此,所有的__w64 int被推导成类型int,实例化出int类型的模板。在参数传递的时候,由于传递的参数是__w64 int类型,就会导致64位代码移植部分不停的唧唧歪歪吐出一大堆警告。又由于模板代码的出错信息很难理解,VC8.0以后,还会再吐出一大堆相关的代码。

于是,我的真正的性命攸关的警告就被淹没在这一堆信息里了。

 

阅读全文>

发表于 @ 2008年05月20日 14:01:00|评论(loading...)|编辑|收藏

2008年05月08日

原创 终于完成了3D空间寻路的心愿收藏

3D空间寻路,主要工作有三:数据组织;路径搜索算法;路径美化阅读全文>

发表于 @ 2008年05月08日 17:17:00|评论(loading...)|编辑|收藏

2007年12月14日

原创 插值收藏

首先我们要明白什么叫做光滑的曲线,可以这么认为,这个曲线是一个运动物体,在时间[0,1]内运动的轨迹。而要求的光滑的曲线,就是要求物体运动过程中没有速度的突变。且要求不同的曲线段之间,速度也不能有突变。据此,我们可以大约知道插值一段曲线,需要指导曲线其实点的位置和速度,结束点的位置和速度。由于有四个已知变量,显然,用一个四次方程来描述这个曲线是再合适不过了。阅读全文>

发表于 @ 2007年12月14日 17:28:00|评论(loading...)|编辑|收藏

2007年08月28日

原创 ATI和NVidia在处理D3DRS_LASTPIXEL的差异收藏

ATI忠实的实现了D3DRS_LASTPIXEL,NVidia则没有。所以,最好的做法就是,永远保持D3DRS_LASTPIXEL为FALSE,方能在两个阵营的显卡上保持一致的显示。 阅读全文>

发表于 @ 2007年08月28日 22:22:00|评论(loading...)|编辑|收藏

2007年08月23日

原创 GC实现收藏

近日阅读了关于C++0x的相关的帖子,知道在不久的将来,C++里可以用到GC功能了,而我,实际上已经使用GC有一段日子了,于是,手痒,用C++实现了一个简陋的GC案例。阅读全文>

发表于 @ 2007年08月23日 15:49:00|评论(loading...)|编辑|收藏

Csdn Blog version 3.1a
Copyright © lanzhengpeng2