<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/n5" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/n5" type="application/rss+xml"></fs:self_link><lastBuildDate>Sun, 17 Jan 2010 09:11:00 GMT</lastBuildDate><title>午后绿茶</title><description>CSDN博客聚合服务</description><link>http://blog.csdn.net/blogrss.aspx?username=n5</link><item><title>游戏编程精粹1-6分类目录之通用编程技术部分</title><link>http://blog.csdn.net/n5/archive/2010/01/17/5203791.aspx</link><description>游戏编程精粹1-6分类目录之通用编程技术部分，分类整理，方便查阅&lt;img src=&quot;http://www1.feedsky.com/t1/322621439/n5/csdn.net/s.gif?r=http://blog.csdn.net/n5/archive/2010/01/17/5203791.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/n5/322621439/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/n5/322621439/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 17 Jan 2010 17:11:00 +0800</pubDate><author>吴昊</author><guid isPermaLink="false">http://blog.csdn.net/n5/archive/2010/01/17/5203791.aspx</guid><dc:creator>吴昊</dc:creator><fs:srclink>http://blog.csdn.net/n5/archive/2010/01/17/5203791.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/n5/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/n5/~1153042/322621439/1153028</fs:itemid></item><item><title>无stencil buffer，绘制半透明planar shadow的一种方法</title><link>http://blog.csdn.net/n5/archive/2009/12/03/4932624.aspx</link><description>所谓planar shadow就是用一个投影矩阵（不是opengl流水线所谓之projection matrix，而是根据光源和投影面位置将一个点投射到投影面上的矩阵），将模型的所有顶点投射到投影面（比如地面）上。一般或者直接使用模型经过skin动画计算好的mesh进行投影并绘制，或者使用一个低模独立计算mesh然后投影绘制。无论哪种方法，都有一个问题，由于影子是很多三角形重叠在一起的，如果使用半透明材质绘制，众多的三角形会重叠在一起非常难看，且会有z-fighting现象闪烁不止。。当然如果有stencil buffer，可以使用stencil buffer进行mask，如果没有呢？确实在某些平台上没有stencil buffer，往往只能通过depth buffer做一些有限的模拟，本文所提的方法就是一例。------------------------------------------绘制过程:1）首先绘制场景里所有其他东西2）用0清除depth buffer（或[-1.0,0.0]之间的任意值）:&lt;img src=&quot;http://www1.feedsky.com/t1/322621480/n5/csdn.net/s.gif?r=http://blog.csdn.net/n5/archive/2009/12/03/4932624.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/n5/322621480/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/n5/322621480/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 03 Dec 2009 14:31:00 +0800</pubDate><author>吴昊</author><guid isPermaLink="false">http://blog.csdn.net/n5/archive/2009/12/03/4932624.aspx</guid><dc:creator>吴昊</dc:creator><fs:srclink>http://blog.csdn.net/n5/archive/2009/12/03/4932624.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/n5/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/n5/~1153042/322621480/1153028</fs:itemid></item><item><title>如果将OpenGL的MVP矩阵设置为单位阵</title><link>http://blog.csdn.net/n5/archive/2009/12/03/4931205.aspx</link><description>&lt;br /&gt;如果将OpenGL的MVP矩阵设置为单位阵，会发生什么？&lt;br /&gt;&lt;br /&gt;opengl的几个坐标空间: object space-&gt; eye space-&gt; clip space -&gt; NDC -&gt; WC&lt;br /&gt;那么，MVP矩阵即model-view-projection matrix是将object sapce的vertex直接变换到clip space&lt;br /&gt;即 (X,Y,Z) -&gt; (Xc, Yc, Zc, Wc)  其中-Wc&lt;br /&gt;&lt;br /&gt;所以如果MVP matrix是identity matrix，对于object space中的顶点(X,Y,Z) (其实是(X,Y,Z,1)因为OpenGL中w默认为1.0）,进行变换:&lt;br /&gt;(X,Y,Z,1)*I = (X,Y,Z,1) 注意：为了书写方便这儿使用行向量了，如我们所知OpenGL是这样变换点的P'=MP&lt;br /&gt;&lt;br /&gt;也就是说MVP为单位阵的情况下，在object space用(X,Y,Z)表达的一个&lt;img src=&quot;http://www1.feedsky.com/t1/322621529/n5/csdn.net/s.gif?r=http://blog.csdn.net/n5/archive/2009/12/03/4931205.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/n5/322621529/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/n5/322621529/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 03 Dec 2009 10:59:00 +0800</pubDate><author>吴昊</author><guid isPermaLink="false">http://blog.csdn.net/n5/archive/2009/12/03/4931205.aspx</guid><dc:creator>吴昊</dc:creator><fs:srclink>http://blog.csdn.net/n5/archive/2009/12/03/4931205.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/n5/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/n5/~1153042/322621529/1153028</fs:itemid></item><item><title>c++游戏开发中使用json</title><link>http://blog.csdn.net/n5/archive/2009/11/29/4902008.aspx</link><description> 最近想写一个自定义的动画数据文件，按照原来的做法，先定义一个文本格式的数据文件，然后写一个转换器转换成二进制，然后游戏中读入并解析。不过我最近特别懒，虽然我已经设计了一个“万能的”文本格式和二进制转换工具，但是解析二进制文件的工作仍然繁琐，并且根据以往的经验，可能会经常的修改文件格式，于是我想直接使用文本格式吧，首先想到的是XML，不过最近实在太懒了，连XML都懒得去解析，嗯，还有google Protocol Buffers这东西，以前看过，不过似乎用的人不多啊，还有一个json，见人在游戏中用过，那么就试试他吧。。 找了几个c++的json解析器，最后选中了jsoncpp （http://jsoncpp.sourceforge.net/）。首先jsoncpp是public domain的，那么就随便我怎么用了，太爽了，然后他使用的是标准c++，没有任何其他依赖（某些库还要依赖boost等东西），最后他很小巧，只有15个源文件，我直接把这些文件copy到工程里就编译了，省去了lib的配置编译连接设定等等（既然懒就懒到底了。。。），直接看文档，用&lt;img src=&quot;http://www1.feedsky.com/t1/322621552/n5/csdn.net/s.gif?r=http://blog.csdn.net/n5/archive/2009/11/29/4902008.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/n5/322621552/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/n5/322621552/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 29 Nov 2009 22:46:00 +0800</pubDate><author>吴昊</author><guid isPermaLink="false">http://blog.csdn.net/n5/archive/2009/11/29/4902008.aspx</guid><dc:creator>吴昊</dc:creator><fs:srclink>http://blog.csdn.net/n5/archive/2009/11/29/4902008.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/n5/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/n5/~1153042/322621552/1153028</fs:itemid></item><item><title>c++日积月累-引用</title><link>http://blog.csdn.net/n5/archive/2009/11/04/4766165.aspx</link><description>&lt;br /&gt;引用是对象的别名，引用并非对象的指针，也不是拷贝，而是对象自己。&lt;br /&gt;&lt;br /&gt;
函数返回一个引用，意味着该函数调用可以出现在赋值运算符的左边。&lt;br /&gt;&lt;br /&gt;
连续调用返回引用的函数形成方法链，例如count&lt;br /&gt;&lt;br /&gt;
注意：引用不能重新指向另外一个对象。你无法让引用与其指示物分离。和指针不同，一旦引用和对象绑定，它无法再被重新指向其他对象。引用本身不是一个对象（它没有标识; 当试图获得引用的地址时，你将的到它的指示物的地址；记住：引用就是它的指示物
）。&lt;br /&gt;&lt;br /&gt;
尽可能使用引用，不得以时使用指针。当你不需要重新指向时，引用一般优先于指针被选用。这意味着引用用于类的公有接口时更有用。但是由于没有NULL引用，当需要返回一个NULL指针代表对象不存在时就要用指针了。（当然也可以创建全局的无功能的NULL对象并返回其引用）&lt;img src=&quot;http://www1.feedsky.com/t1/322621555/n5/csdn.net/s.gif?r=http://blog.csdn.net/n5/archive/2009/11/04/4766165.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/n5/322621555/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/n5/322621555/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 04 Nov 2009 10:26:00 +0800</pubDate><author>吴昊</author><guid isPermaLink="false">http://blog.csdn.net/n5/archive/2009/11/04/4766165.aspx</guid><dc:creator>吴昊</dc:creator><fs:srclink>http://blog.csdn.net/n5/archive/2009/11/04/4766165.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/n5/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/n5/~1153042/322621555/1153028</fs:itemid></item><item><title>c++日积月累-inline</title><link>http://blog.csdn.net/n5/archive/2009/11/04/4765975.aspx</link><description>&lt;br /&gt;1，inline关键字只写在函数定义前，不应该写在函数声明前。&lt;br /&gt;inline是实现细节，不是对外的接口，所以不应该写在声明处。&lt;br /&gt;inline函数的声明应该和普通函数没有区别。&lt;br /&gt;对于类的inline成员函数，如果是直接写在类体中的，则可以省略inline关键字，但是这不是值得推荐的方法，因为这会让用户看到不必要的实现细节。&lt;br /&gt;&lt;br /&gt;2，inline函数的定义必须写在头文件中，无论是类的成员函数还是非类成员函数。&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/322621562/n5/csdn.net/s.gif?r=http://blog.csdn.net/n5/archive/2009/11/04/4765975.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/n5/322621562/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/n5/322621562/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 04 Nov 2009 09:51:00 +0800</pubDate><author>吴昊</author><guid isPermaLink="false">http://blog.csdn.net/n5/archive/2009/11/04/4765975.aspx</guid><dc:creator>吴昊</dc:creator><fs:srclink>http://blog.csdn.net/n5/archive/2009/11/04/4765975.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/n5/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/n5/~1153042/322621562/1153028</fs:itemid></item><item><title>c++日积月累-const</title><link>http://blog.csdn.net/n5/archive/2009/11/04/4765964.aspx</link><description>&lt;br /&gt; const A* a;和A const * a;是一样的，通常用前者，表示被指针a所指的A对象，不能通过a修改&lt;br /&gt;
A* const a;是指a指针是const的不能再指向其他对象&lt;br /&gt;
const A* const a;同时包括上两者的含义。&lt;br /&gt;&lt;br /&gt;
const A&amp; a;和A const&amp; a;是一样的，通常用前者，表示引用a不能修改它所引用的对象。注意：A&amp; const a;的写法是没有意义的，因为引用本身就是不能改变的，没必要再用const说明。&lt;br /&gt;&lt;br /&gt;
const的指针和引用，只能使用对象的const方法，即在声明中该方法后有const关键字。如果const方法要返回对象的引用或指针，也必须用const修饰，例如 const A&amp; get() const;&lt;br /&gt;
非const的指针和引用，则能访问cosnt和非const的方法。&lt;br /&gt;
因此，函数通常会有const重载，即函数签名完全相同，只存在是否有const修饰的区别，这通常用在操作符重载上，如 const A&amp; operator[](in&lt;img src=&quot;http://www1.feedsky.com/t1/322621586/n5/csdn.net/s.gif?r=http://blog.csdn.net/n5/archive/2009/11/04/4765964.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/n5/322621586/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/n5/322621586/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 04 Nov 2009 09:49:00 +0800</pubDate><author>happyfire</author><guid isPermaLink="false">http://blog.csdn.net/n5/archive/2009/11/04/4765964.aspx</guid><dc:creator>happyfire</dc:creator><fs:srclink>http://blog.csdn.net/n5/archive/2009/11/04/4765964.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/n5/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/n5/~1153042/322621586/1153028</fs:itemid></item><item><title>chipmunk物理引擎的基本概念和基本用法</title><link>http://blog.csdn.net/n5/archive/2009/09/20/4573309.aspx</link><description>&lt;br /&gt;chipmunk是一个开源2D物理引擎，项目主页：http://code.google.com/p/chipmunk-physics/&lt;br /&gt;
工作需要研究了一下，这个引擎的资料还是不多，我阅读了所有的文档，7个demo，和一个教学程序，得出如下一些理解。&lt;br /&gt;&lt;br /&gt;
一，基本概念&lt;br /&gt;
space: 发生物理模拟的空间，可容纳body, shape，joint&lt;br /&gt;
body:刚体，可被赋予shape。刚体具有质量，转动惯量，位置，线性速度，加速度，角度，角速度，角加速度等属性。刚体之间可通过joint连接&lt;br /&gt;
shape:决定刚体的碰撞外形。一个刚体上可覆盖上多个shape,同属于一个刚体的shape不会互相发生碰撞。shape同样需要加到space中。有圆，线段，凸多边形这三种shape类型。&lt;br /&gt;
joint: 用于连接刚体。有4种类型：&lt;br /&gt;
  pin joint: 相当于一根棍子（质量忽略）加两个大头针(锚点)，两个刚体如果用pin joint连接，他们之间的距离不会改变，他们各自可绕锚点转动（如果&lt;img src=&quot;http://www1.feedsky.com/t1/322621592/n5/csdn.net/s.gif?r=http://blog.csdn.net/n5/archive/2009/09/20/4573309.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/n5/322621592/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/n5/322621592/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 20 Sep 2009 18:06:00 +0800</pubDate><author>happyfire</author><guid isPermaLink="false">http://blog.csdn.net/n5/archive/2009/09/20/4573309.aspx</guid><dc:creator>happyfire</dc:creator><fs:srclink>http://blog.csdn.net/n5/archive/2009/09/20/4573309.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/n5/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/n5/~1153042/322621592/1153028</fs:itemid></item><item><title>看国内外玩家论坛回帖的一点感受</title><link>http://blog.csdn.net/n5/archive/2009/09/12/4546017.aspx</link><description>&lt;br /&gt;最近公司的游戏发布了，我比较关注玩家的评论，在国外的玩家论坛上讨论非常热烈，回帖一般分成几种类型：&lt;br /&gt;1， review，少则几百多则几千words&lt;br /&gt;2， 赞美或批评以及bug发现，很高兴的是我们的游戏获得了绝大部分玩家的高度评价，而玩家们发现的bug也让我们决定立刻更新一个版本&lt;br /&gt;3， 询问是否值得购买，因为国外玩家绝大部分是花钱买的正版的，他们往往会仔细阅读其他人的review,看截图视频并询问很多问题最后才会去购买。&lt;br /&gt;4， 针对3的回复，非常热心的解答，中肯的意见&lt;br /&gt;5， 争论，也是有的。但不会变成争吵，最多是保留各自意见。也许我看到的论坛的玩家都比较成熟吧&lt;br /&gt;&lt;br /&gt;国内的几个论坛我也看了下，很可惜没有什么值得阅读的内容，玩家一般只是顶贴，感谢楼主之内，很少有对游戏仔细的讨论。还有些比较年轻的玩家，嗯，一些争吵，但是和游戏一点关系没有。。。&lt;br /&gt;&lt;br /&gt;为什么呢？ 我想可能由于国内大部分人玩盗版游戏，当一个游戏基本不花费什么代价就可以玩到的时候，也就不会那么热心，凡是新游戏来了，顶一下贴就可以下载&lt;img src=&quot;http://www1.feedsky.com/t1/322621633/n5/csdn.net/s.gif?r=http://blog.csdn.net/n5/archive/2009/09/12/4546017.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/n5/322621633/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/n5/322621633/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 12 Sep 2009 14:43:00 +0800</pubDate><author>happyfire</author><guid isPermaLink="false">http://blog.csdn.net/n5/archive/2009/09/12/4546017.aspx</guid><dc:creator>happyfire</dc:creator><fs:srclink>http://blog.csdn.net/n5/archive/2009/09/12/4546017.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/n5/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/n5/~1153042/322621633/1153028</fs:itemid></item><item><title>irrlicht引擎源码剖析3 - 引用计数</title><link>http://blog.csdn.net/n5/archive/2009/07/12/4342758.aspx</link><description>在研究irrlicht的video driver和scene graph之前，必须先了解在irrlicht中广泛应用的引用计数机制。irrlicht的接口IReferenceCounted实现了引用计数的机制。需要采用引用计数管理的类都会继承这个接口。irr的引用计数最重要的两个接口就是grab()和drop()。bool drop() const{// someone is doing bad reference counting.			_IRR_DEBUG_BREAK_IF(ReferenceCounter grab()只是简单的将引用计数加一，而drop()是这个机制的核心，当drop()后当引用计数为0时，对象实例通过delete this删除自己从而最终释放了无人再使用的对象。正确的使用grab(&lt;img src=&quot;http://www1.feedsky.com/t1/322621654/n5/csdn.net/s.gif?r=http://blog.csdn.net/n5/archive/2009/07/12/4342758.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/n5/322621654/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/n5/322621654/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 12 Jul 2009 21:44:00 +0800</pubDate><author>happyfire</author><guid isPermaLink="false">http://blog.csdn.net/n5/archive/2009/07/12/4342758.aspx</guid><dc:creator>happyfire</dc:creator><fs:srclink>http://blog.csdn.net/n5/archive/2009/07/12/4342758.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/n5/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/n5/~1153042/322621654/1153028</fs:itemid></item></channel></rss>