<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
 <channel>
  <title>零度の冰的博客</title>
  <link>http://icexile.blogbus.com</link>
  <description><![CDATA[]]></description>
  <generator> by blogbus.com </generator>
  <lastBuildDate>Thu, 01 Jan 1970 07:00:00 +0700</lastBuildDate>
  <image>
									<url>http://public.blogbus.com/profile/6/6/8/4397866/avatar_4397866_96.jpg</url>
									<title>零度の冰的博客</title>
									<link>http://icexile.blogbus.com</link>
								</image>  <item>
   <title>【转】vs2010编译程序无法在XP SP2以前运行的解决方案</title>
   <description><![CDATA[<p>vs2010编译的程序无法在XP SP2以前的平台上运行，这是由于MS在处理（有可能有意）库函数的时候出现了问题，试过多种解决方案，最后还是得上汇编，把上面的代码保存成vs10port.asm加到项目中用masm编译然后生成的obj和主程序链在一起即可。</p><!--sp--><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://icexile.blogbus.com/logs/74131749.html</link>
   <author>零度の冰</author>
   <pubDate>Wed, 01 Sep 2010 09:57:59 +0800</pubDate>
  </item>
  <item>
   <title>Dropbox证实被墙 and 临时解决方法</title>
   <description><![CDATA[<div>
<p> </p>
<p>　　卓越的网络硬盘以及文件同步服务提供商dropbox在2010年5月10日被伟大的GFW阻挡在国门之外。这是一个历史性的时刻。</p>
<p>　　临时的解决方法是hosts文件中增加一行 174.36.30.71 www.dropbox.com</p>
<p>　　估计很快也会被彻底封杀吧…… 唉！</p>
</div><!--sp--><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://icexile.blogbus.com/logs/73325304.html</link>
   <author>零度の冰</author>
   <pubDate>Tue, 11 May 2010 23:20:00 +0800</pubDate>
  </item>
  <item>
   <title>微软Visual Studio 2010煽情广告完结五部曲</title>
   <description><![CDATA[<p>&nbsp;</p>
<div>
<p>微软VS2010这广告一个比一个煽情&hellip;&hellip;</p>
<p>第一幕：做你的下一行Code</p>
<p>
<object width="480" height="400" data="http://player.youku.com/player.php/sid/XMTY2NzYxMzYw/v.swf" type="application/x-shockwave-flash">
<param name="align" value="middle" />
<param name="src" value="http://player.youku.com/player.php/sid/XMTY2NzYxMzYw/v.swf" />
<param name="quality" value="high" />
</object>
</p>
</div><!--sp--><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://icexile.blogbus.com/logs/73325307.html</link>
   <author>零度の冰</author>
   <pubDate>Sat, 24 Apr 2010 11:36:00 +0800</pubDate>
  </item>
  <item>
   <title>右值引用(rvalue reference)在VS2010正式版中的变化(相对与beta版)</title>
   <description><![CDATA[<p/><div><div> <p>　　之前我发的一篇翻译文中有说道右值引用能够绑定在左值或者右值上面，但不能绑定在常量的左右值上面。但是这种情况在最近的VC10版本中（RC版和正式版）中发生了改变：<strong>右值引用不可以绑定在左值上。</strong></p> <div> <table class="IcexileCode" border="1" cellspacing="-1" cellpadding="0" width="80%"><tbody><tr valign="top"><td> <p>#include &lt;iostream&gt;<br/> using namespace std;</p> <p><br/> void fun(int&amp;&amp; value){<br/> 　　cout &lt;&lt; value &lt;&lt; endl;<br/> }</p> <p>int main(){<br/> 　　int a = 10;<br/> 　　int b = 20;<br/><br/> 　　<strong>fun(a);         //错，左值引用绑定到右值上</strong><br/> 　　fun(a + b);<br/> 　　fun(5);</p> <p>　　return 0;<br/> }</p> </td> </tr></tbody></table></div> <p>　　上面的代码在VS2010 beta版本上运行是正常的，但如果在正式版中编译的话，会收到下面的错误消息：</p> <p>　　1&gt;Main.cpp(13): error C2664: 'fun' : cannot convert parameter 1 from 'int' to 'int &amp;&amp;'<br/> 　　1&gt;           You cannot bind an lvalue to an rvalue reference</p> <p>　　VC10中禁止右值引用绑定在左值上是基于安全考虑的，详细的解释请参看标准委员会文档<a href="http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2009/n2844.html" target="_blank">N2844</a> "<span>Fixing a Safety Problem with Rvalue References</span>"。简要的解释就是，比如上面的代码，函数fun()的参数value的类型不是int而是vector一类的容器，而fun()又没有参数是左值引用的重载，那如果调用fun(a)，它可能会根据右值特性将a的内存偷窃，导致后面的代码出错。</p> <p>　　解决问题的方法就是禁止右值引用和左值绑定，如果程序员确信这样做是安全的，那么他可以显示的使用static_cast将左值变为右值，或者使用std::move()：</p> <table class="IcexileCode" border="1" cellspacing="-1" cellpadding="0" width="80%"><tbody><tr valign="top"><td> <p>#include &lt;iostream&gt;<br/> #include &lt;utility&gt;<br/> using namespace std;<br/><br/> void fun(int&amp;&amp; value){<br/> 　　cout &lt;&lt; value &lt;&lt; endl;<br/> }</p> <p>int main(){<br/> 　　int a = 10;<br/> 　　int b = 20;<br/><br/> 　　<strong>fun( move(a) );</strong>　　　　<strong>//正确<br/></strong>　　<strong>fun( static_cast&lt;int&amp;&amp;&gt;(b) ); //正确<br/></strong>　　fun(a + b);<br/> 　　fun(5);<br/><br/> 　　return 0;<br/> }</p> </td> </tr></tbody></table><p>　　最后，由此更改引发的其它问题，比如说标准库的一坨更改，请参看文档<a href="http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2009/n2844.html" target="_blank">N2844</a>。</p> </div></div><!--sp--><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://icexile.blogbus.com/logs/73325311.html</link>
   <author>零度の冰</author>
   <pubDate>Mon, 19 Apr 2010 00:28:00 +0800</pubDate>
  </item>
  <item>
   <title>记诗两首</title>
   <description><![CDATA[<p/><div><h2 align="center">言怀</h2> <div align="center">唐寅<br/> 笑舞狂歌五十年，花中行乐月中眠。<br/> 漫劳海内传名字，谁论腰间缺酒钱。<br/> 诗赋自惭称作者，众人多道我神仙。<br/> 些须做得工夫处，莫损心头一寸天。</div> <div align="center"> </div> <div align="center"> </div> <div align="center"> <h2>老黄牛</h2> 臧克家<br/> 块块荒田水和泥，深耕细作走东西。<br/> 老牛亦解韶光贵，不等扬鞭自奋蹄。</div></div><!--sp--><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://icexile.blogbus.com/logs/73325314.html</link>
   <author>零度の冰</author>
   <pubDate>Tue, 13 Apr 2010 00:29:00 +0800</pubDate>
  </item>
  <item>
   <title>USB设备安全删除工具推荐</title>
   <description><![CDATA[<div><p> </p> <p>有时候是不是发现点击安全删除U盘后，明明我们没有在U盘上读取数据，Windows还是告诉你说什么设备无法删除云云。有时候用Unlocker这个软件unlock一下，能够看到有进程在访问U盘，解锁后就能正常删除了，但有时候unlock也不管用。</p> <p>今天发现使用USB Safely Remove这款软件可以解决上述问题，支持XP、Vista、Win7。软件运行后会取代Windows的安全删除驻留在系统托盘，点击删除某个USB设备如果不成功，它会告诉你哪个进程正在访问此设备，并且你可以点击强制删除终止USB设备，非常方便。</p> <p>这款软件还有个好处，有时候由于驱动的原因，Windows会把DVDRW光驱、无线网卡等一些设备识别为可删除的设备，有些用户不喜欢这些设备出现在安全删除列表里，这款软件可以帮助我们，只要在USB Safely Remove的选项中选择如果没有可删除设备就隐藏托盘图标后，在主窗口选择想要隐藏的设备，右键点击并选择在托盘中隐藏该设备即可！</p> <p>如此设置之后，托盘上再也不会出现图标提示让我们删除无线网卡了。此软件在绿色软件园等地方都有下，就不给下载链接了。</p></div><!--sp--><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://icexile.blogbus.com/logs/73325317.html</link>
   <author>零度の冰</author>
   <pubDate>Mon, 01 Feb 2010 20:18:00 +0800</pubDate>
  </item>
  <item>
   <title>升级到 Firefox 3.6 RC 后部分插件不兼容的解决办法</title>
   <description><![CDATA[<div><p>今天终于忍受不了新版Firefox的诱惑，升级之后，发现原来装的好几款插件都无法工作，报告不兼容，主要列有以下几个：</p> <ul><li>Tab Mix Lite CE</li> <li>IE Tab</li> <li>Greasefire</li> <li>Glazoom</li> <li>Easy DragToGo</li> </ul><p>逐一解决之：</p> <ol><li>Tab Mix Lite CE这个插件主要是增强标签页功能的，用Tab Mix Plux代替。</li> <li>IE Tab用Coral IE Tab代替，这个要说一下，Coral IE Tab功能比IE Tab好一些啊，竟然切换到IE核心后还能支持Adblock Plus插件的广告过滤。</li> <li>Greasefire和Glazoom暂时不需要了，能忍（囧）。</li> <li>Easy DragToGo的话，去其主页下载xpi回来，改扩展名为rar，用winrar打开，把install.rdf拖拽出来，用记事本打开，修改最后面的3.6alpha1为3.7，再拖拽回去。 然后再把扩展名改为xpi，把其拖拽进firefox之中，就可以正常安装使用了。</li> </ol><p>这样，解决了所有不兼容后的插件列表如下：</p> <ul><li>Adblock Plus</li> <li>aliedit （这个是淘宝网的插件）</li> <li>Coral IE Tab</li> <li>Easy DragToGo</li> <li>Firebug</li> <li>FireGestures</li> <li>FoxyProxy Standard</li> <li>Greasemonkey</li> <li>ShowIP</li> <li>Tab Mix Plus</li> <li>Xmarks (被墙，参考<a href="http://hi.baidu.com/icexile/blog/item/ad2b91012a241b0c1d95838d.html" target="_blank">解决Xmarks不能同步的问题</a>)</li> <li>Session Manager</li> </ul><p> </p></div><!--sp--><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://icexile.blogbus.com/logs/73325323.html</link>
   <author>零度の冰</author>
   <pubDate>Thu, 14 Jan 2010 10:58:00 +0800</pubDate>
  </item>
  <item>
   <title>Visual C++中内存泄漏的检测</title>
   <description><![CDATA[<p/><div><p>加入以下代码即可检测内存泄漏：</p> <div> <table class="IcexileCode" border="1" cellspacing="-1" cellpadding="0" width="90%"><tbody><tr valign="top"><td> <p>#define _CRTDBG_MAP_ALLOC<br/> #include&lt;stdlib.h&gt;<br/> #include&lt;crtdbg.h&gt;</p> #ifdef _DEBUG<br/> #define new new(_NORMAL_BLOCK, __FILE__, __LINE__)<br/> #endif <p>inline void EnableMemLeakCheck(){<br/>      _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);<br/> }</p> <p><br/> int main() {<br/>      EnableMemLeakCheck();</p> <p>     int* a = new int[100];</p> <p>     return 0;<br/> }</p> <p> </p> <p>/*<br/> 输出窗口会输出以下内容，点击还可以定位到 “int* a = new int[100];”这一行：<br/> Detected memory leaks!<br/> Dumping objects -&gt;<br/> c:\documents and settings\liuxiaobo\my documents\visual studio 2008\projects\test\test\main.cpp(21) : {56} normal block at 0x003D4EB0, 400 bytes long.<br/>  Data: &lt;                 &gt; CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD<br/> Object dump complete.<br/> */</p> </td> </tr></tbody></table></div> <p> </p></div><!--sp--><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://icexile.blogbus.com/logs/73325332.html</link>
   <author>零度の冰</author>
   <pubDate>Thu, 03 Dec 2009 17:56:00 +0800</pubDate>
  </item>
  <item>
   <title>几款文件同步（云存储）工具试用体验</title>
   <description><![CDATA[<p/><div><p>估计大家都有带着U盘、移动硬盘到处拷文件的经历，在家里写了某个文档，拿到公司再改改，又带回家……拷来拷去，最后哪个是最新的都分不清了，windows的公文包能部分解决这个问题，但用起来还是不够方便。</p> <p>下面几款本人用过的同步工具都可以解决这个问题，且各有优缺点，但大部分工具都提供一个免费的服务器空间，供我们保存文件，并自动同步所有客户端。让我们历数一下：</p> <p>1、Microsoft Windows Live Sync。主页<a href="http://www.foldershare.com/">http://www.foldershare.com/</a>。它能非常稳定的帮助我们同步数台机器，缺点是它们必须处于开机状态，没有服务器帮你保存文件。<br/><br/><br/></p> <p>2、Microsoft Live Mesh。主页<a href="http://www.mesh.com/">http://www.mesh.com/</a>。微软尚处于测试阶段的强大同步工具，不仅有同步文件的功能，还可以远程登陆客户端机器，理念非常超前。免费存储空间5GB。缺点是尚处于测试期，不是很稳定，用起来有些不直观，而且同步速度缓慢。<br/><br/><br/></p> <p>3、DropBox。稳定的文件同步品牌。主页<a href="http://www.dropbox.com/">http://www.dropbox.com/</a>。是俺用过的感觉最爽的工具了。它同步速度飞快，不仅支持Windows客户端，还支持Mac、Linux平台，文件增量上传（也就是说如果文件更改了，只上传修改的部分，极大提高同步效率）、多人共享文件等功能。缺点是不能共享任意的文件夹。免费用户初始2GB空间，可以通过邀请别人使用或者被邀请增加容量250MB。 俺的邀请链接是 <a href="https://www.dropbox.com/referrals/NTI4NTAzODE5">https://www.dropbox.com/referrals/NTI4NTAzODE5</a> ， 朋友们不妨通过这个链接注册试用，因为这是个双赢的结果，被邀请者和俺都能增加空间容量。<br/><br/></p> <p>4、SugarSync。主页<a href="http://www.sugarsync.com/">http://www.sugarsync.com/</a>。这个工具其实也挺好的，就是免费用户有诸多限制，比如客户端同步速度不能拉到最大，说必须给$$才行，有点不爽。免费用户2GB空间，可以试用一下。<br/><br/></p> <p>5.Syncplicity。主页<a href="http://www.syncplicity.com/">http://www.syncplicity.com/</a>。2GB共享空间。优点是可以共享任意文件夹，速度还不错，缺点是不能增量上传，每次同步都必须上传整个文件，但是它的操作界面比较简洁，值得试用。<br/><br/><br/></p> <p>还有一些是俺没有用过的，就不再叙述了~~~~</p></div><!--sp--><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://icexile.blogbus.com/logs/73325335.html</link>
   <author>零度の冰</author>
   <pubDate>Fri, 27 Nov 2009 11:00:00 +0800</pubDate>
  </item>
  <item>
   <title>Visual C++ 8中的__super关键字</title>
   <description><![CDATA[<p/><div><p>工作中看到别人的代码有__super::SetWindowSize()这样的代码，查询了一下备忘在这里。</p> <p>Visual Studio 2005中新增了__super关键字，它代表本类的基类，因此可以像下面这样使用：</p> <div> <table class="IcexileCode" border="1" cellspacing="-1" cellpadding="0" width="90%"><tbody><tr valign="top"><td> <p>struct B1 {<br/>     void mf(int) {}<br/> };</p> <p>struct B2 {<br/>     void mf(short) {}</p> <p>    void mf(char) {}<br/> };</p> <p>struct D : B1, B2 {<br/>     void mf(short) {<br/>        __super::mf(1);    // Calls B1::mf(int)<br/>        __super::mf('s');    // Calls B2::mf(char)<br/>     }<br/> };</p> </td> </tr></tbody></table></div> <p>它还可以配合using语句使用，比如using __super::type_define;这样的。</p></div><!--sp--><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://icexile.blogbus.com/logs/73325338.html</link>
   <author>零度の冰</author>
   <pubDate>Wed, 25 Nov 2009 20:25:00 +0800</pubDate>
  </item>
 </channel>
</rss>

