﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-陋居-随笔分类-COM</title><link>http://www.cppblog.com/softko/category/14119.html</link><description>淡薄名利,修身养性</description><language>zh-cn</language><lastBuildDate>Thu, 19 May 2011 19:21:53 GMT</lastBuildDate><pubDate>Thu, 19 May 2011 19:21:53 GMT</pubDate><ttl>60</ttl><item><title>"没有找到MFC80D.DLL"问题的解决方法(转)</title><link>http://www.cppblog.com/softko/archive/2011/05/17/146539.html</link><dc:creator>eircQ</dc:creator><author>eircQ</author><pubDate>Tue, 17 May 2011 01:31:00 GMT</pubDate><guid>http://www.cppblog.com/softko/archive/2011/05/17/146539.html</guid><wfw:comment>http://www.cppblog.com/softko/comments/146539.html</wfw:comment><comments>http://www.cppblog.com/softko/archive/2011/05/17/146539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/softko/comments/commentRss/146539.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/softko/services/trackbacks/146539.html</trackback:ping><description><![CDATA[<div>&nbsp;<wbr> 用VS2005调试一个程序，出现&#8220;<font face="Courier New">没有找到MFC80D.DLL&#8230;&#8230;&#8221;的提示使程序不能运行，删掉Debug文件夹重新编译问题依旧，上网查了一下，有说是vs路径的原因，有说是vs没装好的原因。</font></div>
<div>&nbsp;<wbr> 在&#8220;启动调试F5&#8221;的工具图标右侧有一栏&#8220;解决方案配置&#8221;，无意中将其中的&#8220;Debug&#8221;改为&#8220;Release&#8221;，F5通过，运行正常，项目目录下生成&#8220;Release&#8221;文件夹，Debug方式生成的&#8220;Debug"文件夹是无用的。原因如下：</div>
<div>&nbsp;<wbr> 
<p><font face="Courier New">&nbsp;<wbr> DEBUG和RELEASE 版本差异及调试相关问题：<br />&nbsp;<wbr> I.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 内存分配问题</font></p>
<p><font face="Courier New">&nbsp;<wbr> 1.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 变量未初始化。下面的程序在debug中运行的很好。</font></p>
<p><font face="Courier New">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> thing * search(thing * something)<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> BOOL found;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> for(int i = 0; i &lt; whatever.GetSize(); i++)<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> {<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> if(whatever[i]-&gt;field == something-&gt;field)<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> { /* found it */<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> found = TRUE;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> break;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> } /* found it */<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> if(found)<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> return whatever[i];<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> else<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> return NULL;<br />&nbsp;<wbr> 而在release中却不行，因为debug中会自动给变量初始化found=FALSE,而在release版中则不会。所以尽可能的给变量、类或结构初始化。</font></p>
<p><font face="Courier New">&nbsp;<wbr> 2.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 数据溢出的问题&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 如：char buffer[10];<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> int counter;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> lstrcpy(buffer, "abcdefghik");</font></p>
<p><font face="Courier New">&nbsp;<wbr> 在debug版中buffer的NULL覆盖了counter的高位，但是除非counter&gt;16M,什么问题也没有。但是在release版中，counter可能被放在寄存器中，这样NULL就覆盖了buffer下面的空间，可能就是函数的返回地址，这将导致ACCESS ERROR。<br />&nbsp;<wbr> 3.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> DEBUG版和RELEASE版的内存分配方式是不同的。如果你在DEBUG版中申请&nbsp;<wbr>&nbsp;<wbr> ele 为 6*sizeof(DWORD)=24bytes,实际上分配给你的是32bytes（debug版以32bytes为单位分配），而在release版，分配给你的就是24bytes（release版以8bytes为单位），所以在debug版中如果你写ele[6],可能不会有什么问题，而在release版中，就有ACCESS VIOLATE。</font></p>
<p><font face="Courier New">&nbsp;<wbr> II.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> ASSERT和VERIFY</font></p>
<p><font face="Courier New">&nbsp;<wbr> 1.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> ASSERT在Release版本中是不会被编译的。</font></p>
<p><font face="Courier New">&nbsp;<wbr> ASSERT宏是这样定义的</font></p>
<p><font face="Courier New">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #ifdef _DEBUG<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #define ASSERT(x) if( (x) == 0) report_assert_failure()<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #else<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #define ASSERT(x)<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #endif<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 实际上复杂一些，但无关紧要。假如你在这些语句中加了程序中必须要有的代码<br />&nbsp;<wbr> 比如</font></p>
<p><font face="Courier New">&nbsp;<wbr> ASSERT(pNewObj = new CMyClass);</font></p>
<p><font face="Courier New">&nbsp;<wbr> pNewObj-&gt;MyFunction();</font></p>
<p><font face="Courier New">&nbsp;<wbr> 这种时候Release版本中的pNewObj不会分配到空间</font></p>
<p><font face="Courier New">&nbsp;<wbr> 所以执行到下一个语句的时候程序会报该程序执行了非法操作的错误。这时可以用VERIFY ：</font></p>
<p><font face="Courier New">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #ifdef _DEBUG<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #define VERIFY(x) if( (x) == 0) report_assert_failure()<br />&nbsp;<wbr><br />&nbsp;<wbr><br />&nbsp;<wbr> #else</font></p>
<p><font face="Courier New">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #define VERIFY(x) (x)<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #endif<br />&nbsp;<wbr> 这样的话，代码在release版中就可以执行了。</font></p>
<p><font face="Courier New">&nbsp;<wbr> III.&nbsp;<wbr>&nbsp;<wbr> 参数问题：</font></p>
<p><font face="Courier New">&nbsp;<wbr> 自定义消息的处理函数，必须定义如下：</font></p>
<p><font face="Courier New">&nbsp;<wbr> afx_msg LRESULT OnMyMessage(WPARAM, LPARAM);</font></p>
<p><font face="Courier New">&nbsp;<wbr> 返回值必须是HRESULT型，否则Debug会过，而Release出错</font></p>
<p><font face="Courier New">&nbsp;<wbr> IV.&nbsp;<wbr> 内存分配</font></p>
<p><font face="Courier New">&nbsp;<wbr> 保证数据创建和清除的统一性：如果一个DLL提供一个能够创建数据的函数，那么这个DLL同时应该提供一个函数销毁这些数据。数据的创建和清除应该在同一个层次上。</font></p>
<p><font face="Courier New">&nbsp;<wbr> V.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> DLL的灾难</font></p>
<p><font face="Courier New">&nbsp;<wbr> 人们将不同版本DLL混合造成的不一致性形象的称为 &#8220;动态连接库的地狱&#8220;(DLL Hell) ，甚至微软自己也这么说(http://msdn.microsoft.com/library/techart/dlldanger1.htm)。</font></p>
<p><font face="Courier New">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 如果你的程序使用你自己的DLL时请注意：</font></p>
<p><font face="Courier New">&nbsp;<wbr> 1.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 不能将debug和release版的DLL混合在一起使用。debug都是debug版，release版都是release版。</font></p>
<p><font face="Courier New">&nbsp;<wbr> 解决办法是将debug和release的程序分别放在主程序的debug和release目录下</font></p>
<p><font face="Courier New"><br />&nbsp;<wbr> 2.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 千万不要以为静态连接库会解决问题，那只会使情况更糟糕。</font></p>
<p>&nbsp;<wbr> VI.&nbsp;<wbr> RELEASE板中的调试：</p>
<p>&nbsp;<wbr> 1.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 将ASSERT() 改为 VERIFY() 。找出定义在"#ifdef _DEBUG"中的代码，如果在RELEASE版本中需要这些代码请将他们移到定义外。查找TRACE(...)中代码，因为这些代码在RELEASE中也不被编译。请认真检查那些在RELEASE中需要的代码是否并没有被便宜。</p>
<p>&nbsp;<wbr> 2.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 变量的初始化所带来的不同，在不同的系统，或是在DEBUG/RELEASE版本间都存在这样的差异，所以请对变量进行初始化。</p>
<p>&nbsp;<wbr> 3.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 是否在编译时已经有了警告?请将警告级别设置为3或4,然后保证在编译时没有警告出现.</p>
<p>&nbsp;<wbr> VII.&nbsp;<wbr>&nbsp;<wbr> 将Project Settings" 中 "C++/C " 项目下优化选项改为Disbale（Debug）。编译器的优化可能导致许多意想不到的错误，请参考http://www.pgh.net/~newcomer/debug_release.htm</p>
<p>&nbsp;<wbr> 1.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 此外对RELEASE版本的软件也可以进行调试，请做如下改动：</p>
<p>&nbsp;<wbr> 在"Project Settings" 中 "C++/C " 项目下设置 "category" 为 "General" 并且将"Debug Info"设置为 "Program Database"。</p>
<p>&nbsp;<wbr> 在 "Link"项目下选中"Generate Debug Info"检查框。</p>
<p>&nbsp;<wbr> "Rebuild All"</p>
<p>&nbsp;<wbr> 如此做法会产生的一些限制：</p>
<p>&nbsp;<wbr> 无法获得在MFC DLL中的变量的值。</p>
<p>&nbsp;<wbr> 必须对该软件所使用的所有DLL工程都进行改动。</p>
<p>&nbsp;<wbr> 另：</p>
<p>&nbsp;<wbr> MS BUG：MS的一份技术文档中表明，在VC5中对于DLL的"Maximize Speed"优化选项并未被完全支持，因此这将会引起内存错误并导致程序崩溃。</p>
<p>&nbsp;<wbr> 2.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> www.sysinternals.com有一个程序DebugView，用来捕捉OutputDebugString的输出，运行起来后（估计是自设为system debugger）就可以观看所有程序的OutputDebugString的输出。此后，你可以脱离VC来运行你的程序并观看调试信息。</p>
<p>&nbsp;<wbr> 3.&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 有一个叫Gimpel Lint的静态代码检查工具，据说比较好用。http://www.gimpel.com 不过要化$的。</p>
<p>参考文献：</p>
<p>1)&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> http://www.cygnus-software.com/papers/release_debugging.html</p>
<p>2)&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> http://www.pgh.net/~newcomer/debug_release.htm</p></div><img src ="http://www.cppblog.com/softko/aggbug/146539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/softko/" target="_blank">eircQ</a> 2011-05-17 09:31 <a href="http://www.cppblog.com/softko/archive/2011/05/17/146539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用ADO的具体方法(转)</title><link>http://www.cppblog.com/softko/archive/2010/11/08/132988.html</link><dc:creator>eircQ</dc:creator><author>eircQ</author><pubDate>Mon, 08 Nov 2010 05:49:00 GMT</pubDate><guid>http://www.cppblog.com/softko/archive/2010/11/08/132988.html</guid><wfw:comment>http://www.cppblog.com/softko/comments/132988.html</wfw:comment><comments>http://www.cppblog.com/softko/archive/2010/11/08/132988.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/softko/comments/commentRss/132988.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/softko/services/trackbacks/132988.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 使用ADO的具体方法网上关于ADO的使用方法很多，这边我个人就整理出一个使用ADO的方法的具体步骤：1、用#import引入ADO库文件在stdafx.h文件中添加#import "c:\program files\common files\system\ado\msado15.dll"no_namespaces rename("EOF" adoEOF")&nbsp;2、&nbsp;数...&nbsp;&nbsp;<a href='http://www.cppblog.com/softko/archive/2010/11/08/132988.html'>阅读全文</a><img src ="http://www.cppblog.com/softko/aggbug/132988.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/softko/" target="_blank">eircQ</a> 2010-11-08 13:49 <a href="http://www.cppblog.com/softko/archive/2010/11/08/132988.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LPSTR BSTR _variant_t VARIANT CComBSTR TCHAR</title><link>http://www.cppblog.com/softko/archive/2010/06/24/118667.html</link><dc:creator>eircQ</dc:creator><author>eircQ</author><pubDate>Thu, 24 Jun 2010 13:43:00 GMT</pubDate><guid>http://www.cppblog.com/softko/archive/2010/06/24/118667.html</guid><wfw:comment>http://www.cppblog.com/softko/comments/118667.html</wfw:comment><comments>http://www.cppblog.com/softko/archive/2010/06/24/118667.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/softko/comments/commentRss/118667.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/softko/services/trackbacks/118667.html</trackback:ping><description><![CDATA[　　如果定义了UNCODE,TCHAR 变为wchar.如果没有定义，那么TCHAR 变为char.<br>&nbsp;&nbsp;&nbsp; 宽字符应该这样定义。L"sdfdf";<br><br>&nbsp;&nbsp;&nbsp; T&nbsp; 中间类型。如果定义了 _UNICODE，则T表示W；如果定义了 _MBCS，则T表示A.<br>&nbsp;&nbsp;&nbsp; A&nbsp; ANSI 字符串，也就是 MBCS.<br>&nbsp;&nbsp;&nbsp; C&nbsp; const 的缩写.<br><br>　　VARIANT 跨语言类型<br>&nbsp;&nbsp;&nbsp; VARIANT v;<br>&nbsp;&nbsp;&nbsp; v.vt=VT_BOOL,v.boolVal=VARIANT_TRUE;<strong><strong></strong></strong><br>　　VARIANT 现成的包装类 CComVariant、COleVariant、_variant_t<br>&nbsp;&nbsp;&nbsp; CComVariant v1("ssd");CComVariant v2(true);CComVariant_t(100);<br><br>&nbsp;&nbsp;&nbsp; BSTR是指向unicode的字符串指针。BSTR bb=::SysAllocString(L"Hello world");<br>&nbsp;&nbsp;&nbsp; ATL中BSTR的包装类CComBSTR;<br><br>&nbsp;&nbsp;&nbsp; 在Windows Data Type中，LPSTR这样定义的，typedef CHAR * LPSTR.<br><br>　　之间主要的转换char *,BSTR,_variant_t;<br>&nbsp;&nbsp;&nbsp; _variant_t类 中有一个函数SetString(const char*)，就是把char* 转换为BSTR,然后转换为_variant_t.<br><br> <img src ="http://www.cppblog.com/softko/aggbug/118667.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/softko/" target="_blank">eircQ</a> 2010-06-24 21:43 <a href="http://www.cppblog.com/softko/archive/2010/06/24/118667.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>