- 博客(121)
- 资源 (5)
- 收藏
- 关注
原创 [项目经验]在debug版编译加入/GZ选项后可发现构造函数中调用虚函数错误
<br />项目环境:windows visual studio 2003 C++<br /> <br />在一个项目中平时在debug版下没有遇到什么错误,连release版也不会出错,因为这个错是一个未定义的错误行为。但在debug版下加入“/GZ”编译选项后,运行时就会发现错误,原来是一个构造函数中调用了一个虚函数。通常在构造函数和析构函数中是不可以调用虚函数,因为这时对象并没有完成虚函数表的建立,所以在这时调用函数是很危险的。
2010-10-26 21:11:00
781
原创 在VirtualBox3.2.8中Guest系统为ubuntu10.10时安装Guest Additions的X window驱动失败解决方法
<br />在VirtualBox3.2.8中Guest系统为ubuntu10.10时安装Guest Additions的X window驱动失败解决方法<br /> <br />在官方论坛也有人讨论这个问题<br />http://forums.virtualbox.org/viewtopic.php?f=3&t=33645<br /> <br />总结一下:<br />只要把virtualbox-ose-guest-x11包安装后重启就行了。<br /> <br />在终端输入:<br />sudo a
2010-10-21 11:19:00
880
转载 短网址程序的开源程序
随着微博客的兴起,博客们也出现了搭建个人短网址的热潮。自建短网址程序利于在微博客上传播自己的链接,对自己博客PR的提高也有一定帮助。今天对部分知名的开源短网址程序进行一次简单的评测,方便大家选择。PhurlPhurl是Google Code上的一个开源项目,作者专注于网址跳转功能,最大的亮点是服务器不支持Apache mod_rewrite 也可以正常工作,而且支持http、https、ftp、ftps、mailto、news、mms、rtmp、rtmpt和e2dk等协议的缩短,十分强大。有验证
2010-09-25 13:14:00
2455
原创 C++ 的恐怖
<br />Linux之父曾说过C++是很恐怖的。开始还不相信但看到下面的程序时,我就相信了。<br /> <br />class A{public: void f() {cout<<"a"<<endl;} void p() {u = 100;cout << u<<endl;} int u;};class B:public A{public: void c() {cout << "c"<<endl;} void f() {i = 10;cc = 2;cout<<"
2010-09-15 17:22:00
923
转载 C 语言的谜题[转]
转者注:在文章开头看觉得蛮有意思,一直看下去就会发现了自己对C语言的了解太小了。语言的歧义 [酷壳链接] [CSDN链接]谁说C语言很简单? [酷壳链接] [CSDN链接]6个变态的C语言Hello World程序 [酷壳链接] [CSDN链接]如何加密/弄乱C源代码 [酷壳链接] [CSDN链接]C语言的谜题 [酷壳链接] [CSDN链接]我们可以看到很多C语言相关的一些东西。比如《语言的歧义》主要告诉了大家C语言中你意想不到的错误以及一些歧义上的东西。而《谁说C语言很简单》则通过
2010-09-14 17:52:00
822
原创 网络数据包在不同网络环境下的丢失表现
最近项目在网络数据发包和收包的时候出了问题。经过分析问题应该是服务端的发送队列溢出或者是客户端的接收队列溢出造成的数据丢失。详细情况如下。首先客户端在登录到服务端的时候会收到服务端发送过来的大量数据,其中有一类数据为长数据,数据量比较大,每个数据包有10000多个字节。而在发送这些数据之后的数据会有一定的机会丢失。在TCP/IP的协议下,发送的大数据包会在网络层中被会成许多个ip包来发送的,然后在接收端的缓冲区内进行重组,当接收到完整的数据包时再向应用层发出接收的通知。....未完待续
2010-09-09 09:09:00
870
转载 Window Features(WIN32开发必看)
这篇文章翻译至MSDN2005,给自己学习,也给所有觉得它有用的人,文中难免有翻译不到位或者错误的地方,望高手指正。译者:欧昊川(转载麻烦注明出处及译者) 2008年5月4日 这个概述讨论了窗口的一些特性,如窗口类型、状态、大小及位置。 1、窗口类型(Window Styles) 这一节描述层叠窗口、
2010-04-17 11:55:00
1208
转载 非API函数检测操作系统类型
这编是关于TEB和PEB的文章 转自:http://www.xfocus.net/articles/200504/793.html创建时间:2005-04-13 更新时间:2005-04-14文章属性:翻译文章提交:sFqRy (mqphk163_at_163.com)非API函数检测操作系统类型作者:Thomas Kruse,nbw
2010-02-12 01:02:00
628
转载 四谈内存对齐
转者注:都已经转到第四篇了,不多说了...... 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bigwhite.blogbus.com/logs/31444643.html最近在思考改进项目中一模块的实现,该模块维护起来让我很是头疼,所有才有了整体换掉它的想法。设计和实现中利用了内存对齐的技术。关于内存对齐,我曾经写过三篇文章,
2009-10-29 18:28:00
579
转载 三谈内存对齐
转者注:看到这样的排版真让人恶心到极点...不过见到原作者写了那么长就顺便转来看一下 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bigwhite.blogbus.com/logs/3990258.html记得以前曾经两次谈到过内存对齐话题,一次在也谈内存对齐一文中,另一次则是也谈内存对齐(续),今天下午和同事又谈到
2009-10-29 18:25:00
675
转载 二谈内存对齐
转者注: 这续集写得比第一集还要差,本来不想转的,但看到他写了那么长,就顺便转来看一下 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bigwhite.blogbus.com/logs/2661330.html关于内存对齐的话题,始终是敏感的。稍有不慎,必将闯下大祸!最近项目稍显轻闲,自己给自己安排一天反思和总结一下,突然想到以前写
2009-10-29 18:23:00
539
转载 也谈内存对齐
转者注:虽然本文写得不太好,但是见到写得这么长就顺便转来看一下 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bigwhite.blogbus.com/logs/1347304.html在最近的项目中,我们涉及到了“内存对齐”技术。对于大部分程序员来说,“内存对齐”对他们来说都应该是“透明的”。“内存对齐”应该是编译器的“管辖范围”
2009-10-29 18:15:00
549
转载 大量Hash算法的实现
这个明显是用java语言写的,我们可以轻易地把它写成C或C++。主要是看算法 Hash算法有很多很多种类。具体的可以参考之前我写的Hash算法的一些分析。本处给大家提供一个集合了很多使用的Hash算法的类,应该可以满足不少人的需要的:/*** Hash算法大全* 推荐使用FNV1算法* @algorithm None* @author Goodzzp 2006-
2009-10-10 11:18:00
819
转载 堆和栈的区别(注意文章中的效率比较)
说明:我转这文章的目的不是说明堆和栈的区别,而是要看看文章最后对堆和栈的效率比较。 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配
2009-10-10 11:15:00
991
转载 关于BSTR数据类型
1.COM字符串类型字符串的长度可能互不相同,因此跨COM边界传输特定的字符串时,需要确定它的长度,而且,字符串有时需要分配内存。2.Unicode和ANSI数据类型3.OLECHAR,LPOLESTR,LPCOLESTRCOM的基本字符数据类型是OLECHAR,与平台无关的字符表示法。在创建该字符集时,OLECHAR的基本数据类型随操作系统的不同而不同。如今最流行
2009-10-09 17:50:00
872
转载 GDI,CxImage,GDI+之比较
GDI,CxImage,GDI+之比较 收藏 document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() {
2009-09-30 09:22:00
965
转载 图片镂空算法集合
在开发界面及棋牌游戏过程中,需要很多镂空的图片,而且图片形式一般比较固定.所以封装了几种常见的镂空方法.1. 用于没有掩码图,只有指定透明色,不进行伸缩void DrawTransBitmap( HDC hdcDest, // 目标DC
2009-09-30 09:20:00
646
转载 Alpha混合物体的深度排序[译]
原文地址:http://blog.csdn.net/xoyojank/archive/2009/02/21/3918091.aspx Alpha混合物体的深度排序 document.body.oncopy = function() { if (window.clipboardData)
2009-09-21 11:48:00
687
转载 一种另类的memcpy写法(在switch里写入一个dowhile)
void* mymemcpy( void* dest, const void* src, size_t count ){ char* d = (char*)dest; const char* s = (const char*)src;
2009-08-17 16:42:00
955
转载 CPU : 多媒体指令集
转载自:http://detail.zol.com.cn/product_param/index506.html CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Inte
2009-04-16 15:32:00
746
转载 汇编指令速查手册
转载自:http://hi.baidu.com/mickeycn/blog/item/1e71e0f95c682658252df2a6.html一、数据传输指令 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX
2009-04-16 15:30:00
570
原创 矩阵、浮点运算测试报告
转载自:http://dev.21tx.com/2004/11/10/12460.html1)使用D3DXMatrixMultiply进行矩阵相乘2)使用优化的4元数算法模拟矩阵相乘(相乘的结果与1相同)3)最笨的办法计算矩阵相乘(要算64个乘法、48个加法、以及若干赋值)4)使用SSE汇编计算矩阵相乘(要算64个乘法、48个加法、以及若干赋值)5)使用xmmintrin
2009-04-16 15:28:00
887
转载 基于SSE指令集的程序设计简介
作者:Alex Farber出处:http://www.codeproject.com/cpp/sseintro.aspSSE技术简介Intel公司的单指令多数据流式扩展(SSE,Streaming SIMDExtensions)技术能够有效增强CPU浮点运算的能力。Visual Studio .NET2003提供了对SSE指令集的编程支持,从而允许用户在C++代
2009-04-16 15:27:00
3158
转载 探讨SSE指令
转载自:未知 比较一下3DNow和浮点指令的性能差异,可以看出,3DNow指令集在运算速度上要远远超过浮点指令。那么,SSE性能如何呢,它是否有能力同3DNow一拚高低?我想,很难说那一个更好一些,因为它们都有着很高的性能。不过单从指令集上看,SSE还是要略胜一筹的。毕竟是新增了8个128位的寄存器,而且指令的功能也要强大一些。3DNow使用MMX指令的寄存器,
2009-04-16 15:26:00
984
转载 游戏编程的资料
小时候就梦想自己以后能够参与游戏的制作,自己开发出来的游戏是最受欢迎,但是成功的背后充满了泪水和努力,只看表面是永远不会成功的.假如你对游戏开发充满热情,以下有一条最快的道路,让你尽快进入游戏开发行业,让你掌握游戏开发的基本技术,让你找到一个发展和规划的方向.以下是最快同往游戏业的道路,请大家按着以下顺序完成,不要放弃,努力吧!必经之路:说到底就是"看书,写程序",但是不要盲目的去
2009-03-31 18:15:00
786
转载 关于骨骼动画及微软示例Skinned Mesh的解析
关于骨骼动画及微软示例Skinned Mesh的解析-----zzzworm骨骼动画是D3D的一个重要应用。尽管微软DXSDK提供了示例Skinned Mesh,但由于涉及众多概念和技术细节,示例相对于初学者非常复杂,难以看懂。在此,提供一些重要问题评论,以使初学者走出迷局,顺利上手。文中所述都是参照各种资料加上自己的理解,也有可能出些偏差,有则回贴拍砖,无则权当一笑。一 骨骼动画
2009-03-31 17:50:00
1100
2
转载 我对【纹理坐标】的理解
纹理坐标以下是我对纹理坐标的理解,如有错误,还望不吝赐教(gao_xudong2004@163.com):http://blog.csdn.net/gaoxudong/archive/2007/02/05/1502584.aspx使用纹理功能时,你必需告诉DX如何将纹理贴到几何图元上,可以通过为每个顶点指定一个纹理坐标来实现。下面的顶点结构中为每个顶点定义了两套纹理坐标:
2009-03-31 15:24:00
2394
转载 我对【纹理颜色混合】与【ALPHA混合】的理解
纹理颜色混合这是我对纹理混合的理解,如果我的理解有误,请一定给我来信(gao_xudong2004@163.com),敬请赐教: 在D3D中,一个物体表面可以使用多个纹理,使用多个纹理时,某点最后的显示颜色可以由两个纹理的同一纹理坐标位置的两个颜色的混合值来决定,并且两纹理的操作结果可以作为下一次纹理颜色混合的来源颜色(我理解为,将操作结果保存在帧缓冲中,下一次操作
2009-03-31 15:00:00
1517
转载 数据结构专项之Hash函数
计算理论中,没有Hash函数的说法,只有单向函数的说法。所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数据。用“人类”的语言描述单向函数就是:如果某个函数在给定输入的时候,很容易计算出其结果来;而当给定结果的时候,很难计算出输入来,这就是单项函数。各种加密函数都可以被认为是单向函数的逼近。Hash函数(或者成为散列函数)也可以看成是单向函数的一个逼近。即它接近于满足
2009-03-31 14:59:00
817
转载 巧用CPU缓存优化代码:数组 vs. 链表
一个常见的编程问题: 遍历同样大小的数组和链表, 哪个比较快? 如果按照大学教科书上的算法分析方法,你会得出结论,这2者一样快, 因为时间复杂度都是 O(n)。 但是在实践中, 这2者却有极大的差异。 通过下面的分析你会发现, 其实数组比链表要快很多。 首先介绍一个概念:memory hierarchy (存储层次结构),电脑中存在多种不同的存储器,如下表CPU 寄存器 –
2009-03-31 14:54:00
629
转载 BSP技术详解 1
我这个人非常懒,到现在也没有发表几篇文章,今天有一点时间贴上一些我翻译的文章.BSP技术作为室内引擎渲染的主流技术虽然已经存在多年,但是生命力仍然非常顽强,最新的DOOM3,HL2仍然将它作为渲染的主流技术,但是在网上对它介绍文章虽然多却非常浅显,大多是使用Q3的BSP文件进行渲染,而BSP文件如何产生则介绍非常少,盖因为这一部分是场景编辑器的工作,而完成一个这样的BSP编辑器是非常困
2009-03-31 14:50:00
979
转载 BSP技术详解(二)
第二节 隐藏面剔除 对不可见物体进行剔除是游戏行业为了满足提高画面渲染速度的要求而产生的一项技术,就是在硬件加速技术飞跃发展的今天,虽然现在已经可以完成许多在过去被认为是不可能实现的工作,但是对于隐藏面进行剔除仍是加速图形渲染的一项重要技术。通常当一个游戏运行的时候,它最少需要以每秒30帧的速度运行。在几年前这意味着如果每一帧你渲染的带纹理的多边形数量超过5000个就被
2009-03-31 14:48:00
1146
原创 BSP技术详解3 第三节 室内场景中光照运算
第三节 室内场景中光照运算关于Radiosity的算法最早是由Goral、Cindy M、Torrance、Kenneth E、Greenberg、Donald P、Battaile和Bennett在论文《Modelling the interaction of light between diffuse surfaces》提出的。他们使用Radiosity来模拟能量在漫反射表面之间进
2009-03-31 13:35:00
938
转载 BSP技术详解(补充)--------------pvs算法
终于将HL2的vbsp,vvis看完了,随便也翻了翻q3map代码,发现两者的代码太相似了,可以看出在BSP分割,portal的查找方面在Q2中都应该已经定型了,因此两者使用的算法都是一样的。下面我主要谈一下计算pvs的算法,因为在我翻译的那篇文章《bsp技术详解》中计算pvs是通过在每个portal上确定一些采样点然后进行ray cast来计算pvs的,这种方法的速度没有保证,而且处理起来也非常
2009-03-31 12:42:00
1337
转载 int offset = (int)(t*)1 - (int)(singleton *)(t*)1
看到一段ogre的原码看到在sigleton.h中的 int offset = (int)(t*)1 - (int)(singleton *)(t*)1;这段看不明白请各位高手指点8,9。 下面是原码: namespace ogre { template class singleton
2009-03-31 12:41:00
1019
转载 仿Explorer的目录树视图类
在网上找了很长时间也没有关于这方面的VC代码.倒是找到几个控件,用起来却很不爽.很奇怪WINDOWS里为什么没有这样的控件.没办法.自己实现一个呗.下面这个类从CTreeView拜生.参考了DELPHI的相应控件源代码写的,本人对DELPHI不会,所以看得很勉强,好多地方也没看明白.不过这个类使用起来的效果,嘿嘿.已经和那个控件差不多了:).只是比起Explorer里的来,还差着一些.具体差在
2009-03-21 16:40:00
973
转载 OpenGL - Material (材质)
在真实世界中,白色物体在绿光照射下看起来是绿色而不是白色,红色物体在绿光照射下看起来是黑色,而有的同样颜色的物体在同样的光照下亮度却不同,这都是由物体的材质不同造成的。 场景中物体的颜色取决于物体材质的反射和透射属性。 在忽略其他效果的情况下,若光源颜色为( LR , LG , LB ),材质颜色为( MR , MG , MB ),最终颜色为( LR*MR ,
2009-03-17 10:24:00
1833
转载 骨骼系统
在三维系统中,骨骼系统是一个重要的部分,是控制人物动作的较佳方法,也是未来人物动作的发展趋势。当前游戏的三维人物动作的控制大多采用顶点关键帧,但这种方式为每一帧动画都要记录人物的顶点数据,当动作多了的时候,存储的需求就越来越大,所以这种方式不但限制了人物的多边形数(顶点数),还限制了动作不能太多。而骨骼动画不同,每帧只记录骨骼的转换,然后通过骨骼与顶点的联系把转换附加到顶点上,生成新的顶点位置,所
2009-01-21 20:49:00
1353
转载 OCTREE 教程
对OCTREE的描述 OCTREE是对3D空间进行划分,也可以叫空间分割。他允许你只对你的3D世界中摄象机照射的区域进行作画。他也能用于冲突检测。下面讲一下为什么要进行空间分割。假设你建立了一个游戏世界,这个世界有超过100,000个多边形要画。如果你建立一个循环并传递这些多边形,那速度是很慢的。即使你有一块很好的显示卡,他也会有很大的麻烦。但是玩你游戏的
2008-12-24 16:16:00
1169
转载 值得注意的函数: DrawIndexedPrimitive
它的全部申明是: HRESULT DrawIndexedPrimitive ( D3DPRIMITIVETYPE Type, INT BaseVertexIndex, UINT MinIndex, UINT NumVertices, UINT StartIndex, UINT PrimitiveCounts); 查阅DirectX 9的SDK, 关于他的文档为下: Para
2008-12-21 10:34:00
2978
2
JScript 语言参考
2008-02-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人