<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_编程的夜猫的博客</title><subtitle type="text">———小猫的成长乐园</subtitle><id>http://feed.cnblogs.com/blog/u/37026/rss</id><updated>2011-03-13T16:18:17Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/37026/rss"/><entry><id>http://www.cnblogs.com/SummerHeart/archive/2011/03/14/1983097.html</id><title type="text">Xtreme.Toolkit.Pro.v15.0.1汉化发布</title><summary type="text">摘要: 时隔1年半，终于等到新版本的Codejock.Xtreme.Toolkit.Pro.v15.0.1.Full.Source.Retail,到手后第一件事就是汉化。以尽早给希望用中文版本朋友分享。---</summary><published>2011-03-13T16:12:00Z</published><updated>2011-03-13T16:12:00Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><link rel="alternate" href="http://www.cnblogs.com/SummerHeart/archive/2011/03/14/1983097.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/archive/2011/03/14/1983097.html"/><content type="html">&lt;p&gt;时隔1年半，终于等到新版本的Codejock.Xtreme.Toolkit.Pro.v15.0.1.Full.Source.Retail,&lt;/p&gt;&#xD;
&lt;p&gt;到手后第一件事就是汉化。以尽早给希望用中文版本朋友分享。&lt;/p&gt;&#xD;
&lt;p&gt;V15全面支持VS2010，且汉化过程中生成向导内部已有了不小的改动，但最终生成的工程似乎没什么变化。内部的变化可以能为了适应VS2010吧。&lt;/p&gt;&#xD;
&lt;p&gt;本人已经在VS2010上和VS2008上测试可以生成工程并编译过程。&lt;/p&gt;&#xD;
&lt;p&gt;下载地址：&lt;a target="_blank" href="http://download.csdn.net/source/3089571"&gt;http://download.csdn.net/source/3089571&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;2011-3-13&lt;/p&gt;&#xD;
&lt;p&gt;有问题请尽快联系本人。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/SummerHeart/aggbug/1983097.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/SummerHeart/archive/2011/03/14/1983097.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/SummerHeart/archive/2010/09/27/1836756.html</id><title type="text">初次偿试开源项目开发---初偿Qt项目开发</title><summary type="text">最近喜欢上Qt项目开发，不仅是因为它的跨平台等特性，还有它的方便，以及本人对手机开发的好奇，所以工作之余开始了Qt之路。俗话说万事开头难，真是一点不假，为了做QT开发，搭建开发环境就折腾了一礼拜。 一...</summary><published>2010-09-27T05:11:00Z</published><updated>2010-09-27T05:11:00Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><link rel="alternate" href="http://www.cnblogs.com/SummerHeart/archive/2010/09/27/1836756.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/archive/2010/09/27/1836756.html"/><content type="html">&lt;p&gt;最近喜欢上Qt项目开发，不仅是因为它的跨平台等特性，还有它的方便，以及本人对手机开发的好奇，所以工作之余开始了Qt之路。俗话说万事开头难，真是一点不假，为了做QT开发，搭建开发环境就折腾了一礼拜。&lt;/p&gt; &lt;p&gt;一开始兴致勃勃打开&lt;a href="http://qt.nokia.com" target="_blank"&gt;Nokia的Qt主页&lt;/a&gt;下载SDK吧。WIN,LINUX,MAC几种平台的SDK都有，现在的版本是4.6.3，平时自己开发C++用的是vs2008，太好了。QT就提供VS2008的SDK，两话没说下。幸运的是在网页下方，看到&lt;strong&gt;Visual Studio Add-in &lt;/strong&gt;不用说一定是与vs的集成插件，OK，直接下载。&lt;/p&gt; &lt;p&gt;然后自然就是先安qtsdk for vs2008，再安装vs addin。安装完成后，VSIDE中会多出个Qt菜单，新建工程时，也会多出Qt4 Projects的选项，非常简单就可以做在VS里做QT开发了。但是只能做desktop程序开发。要做symbianOS下的程序开发，好象是没有symbian模拟器，因为自己的手机是symbianOS，没办法就google吧。可这方面资料却很少。&lt;/p&gt; &lt;p&gt;终于找个资料来自己官方WIKI：&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://wiki.forum.nokia.com/index.php/Qt_Symbian_%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85#.E5.9F.BA.E6.9C.AC.E5.B7.A5.E5.85.B7.E5.AE.89.E8.A3.85" target="_blank"&gt;Qt Symbian 开发环境安装&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;如何安装Wiki是说的很明白了。不过我这要提几点：&lt;/p&gt; &lt;p&gt;1.安装的需要很多组件：&lt;/p&gt; &lt;p&gt;JRE &lt;br&gt;ActivePerl&lt;br&gt;Symbian SDK&lt;br&gt;Carbide.C++&lt;br&gt;Symbian S60 SDK&lt;br&gt;Open C/C++ &lt;br&gt;Qt for Symbian SDK  &lt;p&gt;因为很少用开源软件开发，所以一般想法，组件版本新的总比旧的好。所以下载ActivePerl是选了新的版本，可是问题来了，后面的安装脚本执行不了？晕个。只得乖乖下5.6.1的版本，后面的安装才没出问题。 &lt;p&gt;2.安装路径 &lt;p&gt;安装Symbian S60 SDK时文件自动提示安装在C:\S60\Devices\…。因为我想安装S60第三版本和S60第5 版。因此理所当然的想把他两分开，所以改了路径 为D:\S603rd\S60\Devices和D:\S605td\S60\Devices。结果无法启动模拟器。然后又卸载重装，几经折腾，按了原路径，只改了盘符，居然Ok了。真叫人无言。。 &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/SummerHeart/WindowsLiveWriter/Qt_A378/Snap1_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Snap1" border="0" alt="Snap1" src="http://images.cnblogs.com/cnblogs_com/SummerHeart/WindowsLiveWriter/Qt_A378/Snap1_thumb.jpg" width="244" height="150"&gt;&lt;/a&gt;&lt;a href="http://wiki.forum.nokia.com/index.php/File:CarbideNewProject_9.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://images.cnblogs.com/cnblogs_com/SummerHeart/WindowsLiveWriter/Qt_A378/clip_image001_538ef603-7f51-4d3c-898c-f9dbb4eceb85.png" width="126" height="187"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;以上是我自己的界面截图。&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;总结：&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;开源软件的开发最要命的就是开发环境的问题。组件多，并且没有很好的集成。环境搭建起来非常麻烦，以前学java时也是一样，组件版本不对就有问题出现。而且一个组件的高版本不一定就能兼容另一个组件。必须是一一对应。若某个组件有了新的版本，你必须等其他相关组件出了对应的版本才行，要不你还是用不上该组件的新功能。ps，MS的集成环境就很少出现这种问题，一般来讲高版本是会兼容低版本的。&lt;/p&gt; &lt;p&gt;&lt;a href="http://wiki.forum.nokia.com/index.php/File:CarbideNewProject_9.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://wiki.forum.nokia.com/index.php/File:CarbideNewProject_9.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/SummerHeart/aggbug/1836756.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/SummerHeart/archive/2010/09/27/1836756.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/SummerHeart/archive/2010/09/27/1836739.html</id><title type="text">Qt（1）--可恶的margin,frame 与控件间的间隙问题。</title><summary type="text">先看问题，代码如下：</summary><published>2010-09-27T04:35:00Z</published><updated>2010-09-27T04:35:00Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><link rel="alternate" href="http://www.cnblogs.com/SummerHeart/archive/2010/09/27/1836739.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/archive/2010/09/27/1836739.html"/><content type="html">&lt;p&gt;先看问题，代码如下：&lt;/p&gt;&#xD;
&lt;pre &gt;titleFrame = new QFrame(this);&#xD;
 titleFrame-&amp;gt;setObjectName(QString::fromUtf8("titleframe")); &#xD;
titleFrame-&amp;gt;setContentsMargins(0, 0, 0, 0);&#xD;
widgetIcon = new QLabel(titleFrame);&#xD;
 titleText = new QLabel(titleFrame);&#xD;
 minimizeButton = new QPushButton(titleFrame);&#xD;
 maximizeButton = new QPushButton(titleFrame);&#xD;
 closeButton = new QPushButton(titleFrame);&#xD;
 connect(closeButton,SIGNAL(clicked()), this, SLOT(hide()));&#xD;
 widgetIcon-&amp;gt;setFixedSize(16,16);&#xD;
 titleText-&amp;gt;setMaximumHeight(16);&#xD;
 minimizeButton-&amp;gt;setFixedSize(16,16);&#xD;
 maximizeButton-&amp;gt;setFixedSize(16,16);&#xD;
 closeButton-&amp;gt;setFixedSize(16,16);&#xD;
 QHBoxLayout *titleLayout = new QHBoxLayout(titleFrame);&#xD;
 titleLayout-&amp;gt;setSpacing(0);&#xD;
 titleLayout-&amp;gt;addWidget(widgetIcon);&#xD;
 titleLayout-&amp;gt;addWidget(titleText);&#xD;
 titleLayout-&amp;gt;addWidget(minimizeButton);&#xD;
 titleLayout-&amp;gt;addWidget(maximizeButton);&#xD;
 titleLayout-&amp;gt;addWidget(closeButton);&#xD;
 titleFrame-&amp;gt;setLayout(titleLayout);&#xD;
 framelayout = new QVBoxLayout();&#xD;
 framelayout-&amp;gt;setSpacing(0);&#xD;
 framelayout-&amp;gt;addWidget(titleFrame);&#xD;
 。。。。。。。&#xD;
 framelayout-&amp;gt;setSizeConstraint(QLayout::SetDefaultConstraint);&#xD;
 setLayout(framelayout);&#xD;
显示结果这样：&lt;/pre&gt;&#xD;
&lt;pre &gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/SummerHeart/WindowsLiveWriter/Qt1marginframe_B0EB/Snap2_2.jpg"&gt;&lt;img style="display: inline; border: 0px;" title="Snap2" src="http://images.cnblogs.com/cnblogs_com/SummerHeart/WindowsLiveWriter/Qt1marginframe_B0EB/Snap2_thumb.jpg" border="0" alt="Snap2" width="323" height="154" /&gt;&lt;/a&gt; &#xD;
&#xD;
代码实现的是一个title条，widgetIcon，titleText 两个QLable和两个按钮minimizeButton，maximizeButton，closeButton 用QHBoxLayou布局，然后放在Qframe里，Qframe被加到Layout中: framelayout-&amp;gt;addWidget(titleFrame); framelayout设置成Widget-&amp;gt;setLayou(framelayout);&lt;/pre&gt;&#xD;
&lt;pre &gt;结果QFrame与里边的控件之间出现了间隙。蓝色的是我把QFrame的背景色设成了蓝色，为什么Qframe与lable间出现空隙？&lt;/pre&gt;&#xD;
&lt;pre &gt;&lt;/pre&gt;&#xD;
&lt;pre &gt;一般的要让控件容器和子控件没有空隙， 有两种情况： (确保控件容器的margins设置成0)&lt;br /&gt;1. 子控件大小固定， 则控件容器大小也得固定， 确保没有空隙产生；&lt;br /&gt;2. 子控件大小动态变化， 则将其大小变化设置成扩展(expanding)， 随控件容器变化;&lt;/pre&gt;&#xD;
&lt;pre &gt;那么，为了确保frame与内部控件一样高，我设置其最大高度：titleFrame-&amp;gt;setMaximumHeight(16);同时却出现了意想不到的结果：如图&lt;/pre&gt;&#xD;
&lt;pre &gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/SummerHeart/WindowsLiveWriter/Qt1marginframe_B0EB/Snap4_2.jpg"&gt;&lt;img style="display: inline; border: 0px;" title="Snap4" src="http://images.cnblogs.com/cnblogs_com/SummerHeart/WindowsLiveWriter/Qt1marginframe_B0EB/Snap4_thumb.jpg" border="0" alt="Snap4" width="244" height="49" /&gt;&lt;/a&gt; &lt;/pre&gt;&#xD;
&lt;pre &gt;内部控件被frame遮掉了半了。。。什么原因呢。看来frame与控件间还存在别的影响因素，代码中只有那个布局控件用的QHBoxLayou了。&lt;/pre&gt;&#xD;
&lt;pre &gt;设置titleLayout-&amp;gt;setContentsMargins(0,0,0,0);&lt;/pre&gt;&#xD;
&lt;pre &gt;OK，问题解决！！！&lt;/pre&gt;&#xD;
&lt;pre &gt;&lt;strong&gt;总结：&lt;/strong&gt;&lt;/pre&gt;&#xD;
&lt;pre &gt;Qt控件支持类似CSS的样式布局，从这点上看不带代表不使用用StyleSheet，控件就不遵从这种布局规则。通常情况下如何直接将布局容器layout设置成Widget的布局，即setLayout(framelayout);layout与控件间只存在较小的空间，通过调用titleLayout-&amp;gt;setSpacing(0);就可以去掉。但是如上的例子中却仍然存中间隙。&lt;/pre&gt;&#xD;
&lt;pre &gt;其原因就是那可恶的Margins。&lt;/pre&gt;&#xD;
&lt;pre &gt;由此可见，Widget下的layout的Margins默认是被设置为0了，而frame下是没有设置为0。&lt;/pre&gt;&#xD;
&lt;pre &gt;最后来张控件的布局示意图。&lt;/pre&gt;&#xD;
&lt;pre &gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/SummerHeart/WindowsLiveWriter/Qt1marginframe_B0EB/Snap21_2.png"&gt;&lt;img style="display: inline; border: 0px;" title="Snap21" src="http://images.cnblogs.com/cnblogs_com/SummerHeart/WindowsLiveWriter/Qt1marginframe_B0EB/Snap21_thumb.png" border="0" alt="Snap21" width="244" height="183" /&gt;&lt;/a&gt; &lt;/pre&gt;&#xD;
&lt;pre &gt;PS：本人也是初学Qt，些例仅是学习中碰的问题拿来与大家分享，对Qt内部的实现机制原理还不是很懂，若有说的不对的希望网友们多多提出，相互交流交流。&lt;/pre&gt;&lt;img src="http://www.cnblogs.com/SummerHeart/aggbug/1836739.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/SummerHeart/archive/2010/09/27/1836739.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/SummerHeart/archive/2009/12/09/1620574.html</id><title type="text">Xtreme.Toolkit.Pro v13.2.1汉化发布</title><summary type="text">Xtreme.Toolkit.Pro v13.2.1汉化发布下载：http://download.csdn.net/source/1873993汉化方法参考：Xtreme Toolkit Pro v11.2.1 汉化全过程</summary><published>2009-12-09T12:50:00Z</published><updated>2009-12-09T12:50:00Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><link rel="alternate" href="http://www.cnblogs.com/SummerHeart/archive/2009/12/09/1620574.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/archive/2009/12/09/1620574.html"/></entry><entry><id>http://www.cnblogs.com/SummerHeart/archive/2009/09/23/1572675.html</id><title type="text">[转]MFC的CString(VC6) 内存管理分析</title><summary type="text">CString 类是我们经常用到的类,所以有必要对它的内存管理模式分析一下.内存管理的演变过程如下： VC5 单纯的使用new delete方法。因为字符串操作需要频繁调整内存大小.而采用C++操作符 new 与 delete是没有与realloc相应功能的。结果就是每一次的改变内存大小都需要额外增加一次拷贝操作。而 new 与delete 在实现中在进程堆中分配。频繁地在堆上进行小内存分配与释放必然在堆上产生大量碎片。堆碎片过多直接影响了程序效率。于是MFC在VC6版本对此进行了改进。 </summary><published>2009-09-23T07:46:00Z</published><updated>2009-09-23T07:46:00Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><link rel="alternate" href="http://www.cnblogs.com/SummerHeart/archive/2009/09/23/1572675.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/archive/2009/09/23/1572675.html"/></entry><entry><id>http://www.cnblogs.com/SummerHeart/archive/2009/09/17/1568828.html</id><title type="text">Xtreme.Toolkit.Pro v12.1.1汉化发布</title><summary type="text">Xtreme.Toolkit.Pro v12.1.1汉化发布下载：http://download.csdn.net/source/1665030汉化方法参考：Xtreme Toolkit Pro v11.2.1 汉化全过程</summary><published>2009-09-17T14:16:00Z</published><updated>2009-09-17T14:16:00Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><link rel="alternate" href="http://www.cnblogs.com/SummerHeart/archive/2009/09/17/1568828.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/archive/2009/09/17/1568828.html"/></entry><entry><id>http://www.cnblogs.com/SummerHeart/archive/2009/07/23/1529754.html</id><title type="text">［转］半只香烟解读&amp;lt;&amp;lt;搜索引擎优化（SEO）知识完全手册&amp;gt;&amp;gt;(一)</title><summary type="text">转：http://hi.baidu.com/bcair/blog/item/c2f2e2435e8a171072f05d48.html 《搜索引擎优化（SEO）知识完全手册》前言  第一部分：域名和主机对SEO的影响域名选择与SEO主机选择与SEO  第二部分：搜索引擎优化的核心： 关键字策略关键字的选择关键字密度关键字分布  第三部分：对搜索引擎友好的网页设计制作目录结构和URL导航结构框架结构...</summary><published>2009-07-23T14:40:00Z</published><updated>2009-07-23T14:40:00Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><link rel="alternate" href="http://www.cnblogs.com/SummerHeart/archive/2009/07/23/1529754.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/archive/2009/07/23/1529754.html"/></entry><entry><id>http://www.cnblogs.com/SummerHeart/archive/2009/07/12/1521969.html</id><title type="text">(收集贴)的一些asp.net小技巧</title><summary type="text">由于最近开始学写些asp.net程序，所以对于一小技巧不是很熟悉，因此不断的从网络上四处收来，自己做个备忘，也许有的朋友也能用得着。 </summary><published>2009-07-12T07:40:00Z</published><updated>2009-07-12T07:40:00Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><link rel="alternate" href="http://www.cnblogs.com/SummerHeart/archive/2009/07/12/1521969.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/archive/2009/07/12/1521969.html"/></entry><entry><id>http://www.cnblogs.com/SummerHeart/archive/2009/06/30/1513596.html</id><title type="text">[转]向依赖关系宣战——依赖倒置、控制反转和依赖注入辨析</title><summary type="text">在《道法自然——面向对象实践指南》一书中，我们采用了一个对立统一的辩证关系来说明“模板方法”模式—— “正向依赖 vs. 依赖倒置”（参见：《道法自然》第15章[王咏武， 王咏刚 2004]）。这种把“好莱坞”原则和 “依赖倒置”原则等量齐观的看法其实来自于轻量级容器PicoContainer主页上的一段话：　　 “控制反转（Inversion of Control）的一个著名的同义原则是由Robert C. Martin提出的依赖倒置原则（Dependency Inversion Principle），它的另一个昵称是好莱坞原则（Hollywood Principle：不要调用我，让我来调用你）”[PicoContainer 2004]。</summary><published>2009-06-29T16:50:00Z</published><updated>2009-06-29T16:50:00Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><link rel="alternate" href="http://www.cnblogs.com/SummerHeart/archive/2009/06/30/1513596.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/archive/2009/06/30/1513596.html"/></entry><entry><id>http://www.cnblogs.com/SummerHeart/archive/2009/06/29/1513342.html</id><title type="text">[转]笔记--设计模式精解c++－GoF 23 种设计模式解析</title><summary type="text">0  引言0.1 设计模式解析（总序）0.2 设计模式解析后记0.3  与作者联系1  创建型模式1.1 Factory模式 1）为了提高内聚（Cohesion）和松耦合（Coupling） ，我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。这样我们可以通过声明一个指向基类的指针来指向实际的子类实现，达到了多态的目的。这里很容易出现的一个问题 n 多的子类继承自抽象基类，我们不得不在每次要用到子类的地方就编写诸如 new  ×××;的代码。这里带来两个问题 1）客户程序员必须知道实际子类的名称（当系统复杂后，命名将是一个很不好处理的问题，为了处理可能的名字冲突，有的命名可能并不是具有很好的可读性和可记忆性，就姑且不论不同程序员千奇百怪的个人偏好了。 ） ，2）程序的扩展性和维护变得越来越困难。</summary><published>2009-06-29T08:32:00Z</published><updated>2009-06-29T08:32:00Z</updated><author><name>编程的夜猫</name><uri>http://www.cnblogs.com/SummerHeart/</uri></author><link rel="alternate" href="http://www.cnblogs.com/SummerHeart/archive/2009/06/29/1513342.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/SummerHeart/archive/2009/06/29/1513342.html"/></entry></feed>
