﻿<?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++博客-飞扬天下</title><link>http://www.cppblog.com/rise-worlds/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 05 Apr 2026 17:01:25 GMT</lastBuildDate><pubDate>Sun, 05 Apr 2026 17:01:25 GMT</pubDate><ttl>60</ttl><item><title>Visual Studio 2012简体中文旗舰版官方公开下载地址(附CDKey)</title><link>http://www.cppblog.com/rise-worlds/archive/2012/08/16/187399.html</link><dc:creator>Condor</dc:creator><author>Condor</author><pubDate>Thu, 16 Aug 2012 11:03:00 GMT</pubDate><guid>http://www.cppblog.com/rise-worlds/archive/2012/08/16/187399.html</guid><wfw:comment>http://www.cppblog.com/rise-worlds/comments/187399.html</wfw:comment><comments>http://www.cppblog.com/rise-worlds/archive/2012/08/16/187399.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rise-worlds/comments/commentRss/187399.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rise-worlds/services/trackbacks/187399.html</trackback:ping><description><![CDATA[<div><a target="_blank" href="http://download.microsoft.com/download/B/0/F/B0F589ED-F1B7-478C-849A-02C8395D0995/VS2012_ULT_chs.iso">http://download.microsoft.com/download/B/0/F/B0F589ED-F1B7-478C-849A-02C8395D0995/VS2012_ULT_chs.iso</a><br />VS2012_ULT_chs.iso&nbsp;1.5&nbsp;GB<br />更多请访问：<a target="_blank" href="http://www.microsoft.com/zh-cn/download/details.aspx?id=30678">http://www.microsoft.com/zh-cn/download/details.aspx?id=30678</a><br />安装序列号：<br />RBCXF-CVBGR-382MK-DFHJ4-C69G8<br />YKCW6-BPFPF-BT8C9-7DCTH-QXGWC</div><img src ="http://www.cppblog.com/rise-worlds/aggbug/187399.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rise-worlds/" target="_blank">Condor</a> 2012-08-16 19:03 <a href="http://www.cppblog.com/rise-worlds/archive/2012/08/16/187399.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Win32控制台清屏方法</title><link>http://www.cppblog.com/rise-worlds/archive/2010/06/30/119006.html</link><dc:creator>Condor</dc:creator><author>Condor</author><pubDate>Wed, 30 Jun 2010 12:18:00 GMT</pubDate><guid>http://www.cppblog.com/rise-worlds/archive/2010/06/30/119006.html</guid><wfw:comment>http://www.cppblog.com/rise-worlds/comments/119006.html</wfw:comment><comments>http://www.cppblog.com/rise-worlds/archive/2010/06/30/119006.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rise-worlds/comments/commentRss/119006.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rise-worlds/services/trackbacks/119006.html</trackback:ping><description><![CDATA[<p>最后觉得项目中的控制台不大好用，就添加了一些小功能，比如清屏；当然最简单的方法是调用系统自带的函数system(&#8220;cls&#8221;);，这里提供一个方法一样可以清屏（测试比cls要快一些）：</p>
<p>&nbsp;
</p>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;Standard&nbsp;error&nbsp;macro&nbsp;for&nbsp;reporting&nbsp;API&nbsp;errors&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;<br>&nbsp;</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;PERR(bSuccess,&nbsp;api){if(!(bSuccess))&nbsp;printf("%s:Error&nbsp;%d&nbsp;from&nbsp;%s&nbsp;\&nbsp;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;line&nbsp;</span><span style="color: #000000;">%</span><span style="color: #000000;">d\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;__FILE__,&nbsp;GetLastError(),&nbsp;api,&nbsp;__LINE__);}</span><span style="color: #000000;"><br></span><span style="color: #000000;"><br>&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;cls(&nbsp;HANDLE&nbsp;hConsole&nbsp;)<br>&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;COORD&nbsp;coordScreen&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;};&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;here's&nbsp;where&nbsp;we'll&nbsp;home&nbsp;the<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cursor&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;bSuccess;<br>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;cCharsWritten;<br>&nbsp;&nbsp;&nbsp;&nbsp;CONSOLE_SCREEN_BUFFER_INFO&nbsp;csbi;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;to&nbsp;get&nbsp;buffer&nbsp;info&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwConSize;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;number&nbsp;of&nbsp;character&nbsp;cells&nbsp;in<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;current&nbsp;buffer&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;get&nbsp;the&nbsp;number&nbsp;of&nbsp;character&nbsp;cells&nbsp;in&nbsp;the&nbsp;current&nbsp;buffer&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;bSuccess&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;GetConsoleScreenBufferInfo(&nbsp;hConsole,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">csbi&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;PERR(&nbsp;bSuccess,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">GetConsoleScreenBufferInfo</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;dwConSize&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;csbi.dwSize.X&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;csbi.dwSize.Y;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;fill&nbsp;the&nbsp;entire&nbsp;screen&nbsp;with&nbsp;blanks&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;bSuccess&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;FillConsoleOutputCharacter(&nbsp;hConsole,&nbsp;(TCHAR)&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwConSize,&nbsp;coordScreen,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">cCharsWritten&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;PERR(&nbsp;bSuccess,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">FillConsoleOutputCharacter</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;get&nbsp;the&nbsp;current&nbsp;text&nbsp;attribute&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;bSuccess&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;GetConsoleScreenBufferInfo(&nbsp;hConsole,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">csbi&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;PERR(&nbsp;bSuccess,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">ConsoleScreenBufferInfo</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;now&nbsp;set&nbsp;the&nbsp;buffer's&nbsp;attributes&nbsp;accordingly&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;bSuccess&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;FillConsoleOutputAttribute(&nbsp;hConsole,&nbsp;csbi.wAttributes,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwConSize,&nbsp;coordScreen,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">cCharsWritten&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;PERR(&nbsp;bSuccess,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">FillConsoleOutputAttribute</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;put&nbsp;the&nbsp;cursor&nbsp;at&nbsp;(0,&nbsp;0)&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;bSuccess&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;SetConsoleCursorPosition(&nbsp;hConsole,&nbsp;coordScreen&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;PERR(&nbsp;bSuccess,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">SetConsoleCursorPosition</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;<br>&nbsp;}<br></span></div>
<p>&#160;</p><img src ="http://www.cppblog.com/rise-worlds/aggbug/119006.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rise-worlds/" target="_blank">Condor</a> 2010-06-30 20:18 <a href="http://www.cppblog.com/rise-worlds/archive/2010/06/30/119006.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows Live Essentials beta下载</title><link>http://www.cppblog.com/rise-worlds/archive/2010/06/25/118696.html</link><dc:creator>Condor</dc:creator><author>Condor</author><pubDate>Fri, 25 Jun 2010 03:40:00 GMT</pubDate><guid>http://www.cppblog.com/rise-worlds/archive/2010/06/25/118696.html</guid><wfw:comment>http://www.cppblog.com/rise-worlds/comments/118696.html</wfw:comment><comments>http://www.cppblog.com/rise-worlds/archive/2010/06/25/118696.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rise-worlds/comments/commentRss/118696.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rise-worlds/services/trackbacks/118696.html</trackback:ping><description><![CDATA[<p>下载地址：<a title="http://explore.live.com/windows-live-essentials-beta" href="http://explore.live.com/windows-live-essentials-beta">http://explore.live.com/windows-live-essentials-beta</a></p> <p>默认是完全安装版，可以在右边选择可定制版</p> <p><a href="http://www.cppblog.com/images/cppblog_com/rise-worlds/WindowsLiveWriter/297b71183b32_A20F/image_6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.cppblog.com/images/cppblog_com/rise-worlds/WindowsLiveWriter/297b71183b32_A20F/image_thumb_2.png" width="717" height="126"></a></p> <p>可定制版中文版：<a title="http://g.live.com/1rebeta4_webc/zh-cn/wlsetup-webc.exe" href="http://g.live.com/1rebeta4_webc/zh-cn/wlsetup-webc.exe">http://g.live.com/1rebeta4_webc/zh-cn/wlsetup-webc.exe</a></p> <p>Windows Live Essentials Wave 4 Beta 组件包括：照片库、Mail、影音制作、Messenger、Writer、家庭安全设置、Bing 工具栏、Messenger Companion、Sync，以及 Silverlight 和 Office Outlook Connector</p> <p>&nbsp;</p> <p>安装完成</p> <p><a href="http://www.cppblog.com/images/cppblog_com/rise-worlds/WindowsLiveWriter/297b71183b32_A20F/image_4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.cppblog.com/images/cppblog_com/rise-worlds/WindowsLiveWriter/297b71183b32_A20F/image_thumb_1.png" width="600" height="512"></a></p><br> <p>安装过程中出现一个问题：</p> <p>可能是另一个程序使安装程序无法正常运行 <br>错误:0×80070643 <br>源:Contacts</p> <p>解决方法是打开windows防火墙再安装就可以了。</p><img src ="http://www.cppblog.com/rise-worlds/aggbug/118696.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rise-worlds/" target="_blank">Condor</a> 2010-06-25 11:40 <a href="http://www.cppblog.com/rise-worlds/archive/2010/06/25/118696.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VC++正确添加预编译头文件的方法</title><link>http://www.cppblog.com/rise-worlds/archive/2010/06/03/117081.html</link><dc:creator>Condor</dc:creator><author>Condor</author><pubDate>Thu, 03 Jun 2010 03:32:00 GMT</pubDate><guid>http://www.cppblog.com/rise-worlds/archive/2010/06/03/117081.html</guid><wfw:comment>http://www.cppblog.com/rise-worlds/comments/117081.html</wfw:comment><comments>http://www.cppblog.com/rise-worlds/archive/2010/06/03/117081.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rise-worlds/comments/commentRss/117081.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rise-worlds/services/trackbacks/117081.html</trackback:ping><description><![CDATA[<p>预编译头文件的最大好处在于如果只改动一小处代码，不用把相关有依赖的代码全部编译一次，这样可以很大的节约编译时间。</p> <p>对于没有添加预编译头文件的项目，在添加时有个认识误区，就是认识只要在工程里设置使用预编译头文件就可以了，最近在项目里设置发现有问题，比如找不到导出符号，或符号重定义之类错误。</p> <p>最后才发现原来在项目属性里设置过使用预编译头文件后，还要在stdafx.cpp里设置创建预编译头文件，这样才行（原来的设置可以是因为这个设置还在）。另外如果有的cpp需要预编译头文件要单独设置“不使用预编译头文件”。</p> <p>看来用了多年VS还有不知道的地方，还要继续努力。</p><img src ="http://www.cppblog.com/rise-worlds/aggbug/117081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rise-worlds/" target="_blank">Condor</a> 2010-06-03 11:32 <a href="http://www.cppblog.com/rise-worlds/archive/2010/06/03/117081.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QQ2010在Windows7下安装失败的解决方法</title><link>http://www.cppblog.com/rise-worlds/archive/2010/06/01/116931.html</link><dc:creator>Condor</dc:creator><author>Condor</author><pubDate>Tue, 01 Jun 2010 13:45:00 GMT</pubDate><guid>http://www.cppblog.com/rise-worlds/archive/2010/06/01/116931.html</guid><wfw:comment>http://www.cppblog.com/rise-worlds/comments/116931.html</wfw:comment><comments>http://www.cppblog.com/rise-worlds/archive/2010/06/01/116931.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rise-worlds/comments/commentRss/116931.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rise-worlds/services/trackbacks/116931.html</trackback:ping><description><![CDATA[<p>这个原因是因为原来的QQ安装不正确或MSI文件丢失，解决方法很简单XP可以使用WCL就可以了；</p> <p>在Windows 7下先打开安装文件，如果出错也不点，打开 <br>C:\Users\用户名\AppData\Roaming\Tencent\QQ\STemp\，会看到有个~TXQQ2052~0之类的文件夹，在这有个QQ2010.msi，直接在“添加删除”里支持QQ的删除程序指向这个文件，等完成后重新安装就可以了。</p><img src ="http://www.cppblog.com/rise-worlds/aggbug/116931.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rise-worlds/" target="_blank">Condor</a> 2010-06-01 21:45 <a href="http://www.cppblog.com/rise-worlds/archive/2010/06/01/116931.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设置线程名称</title><link>http://www.cppblog.com/rise-worlds/archive/2010/05/08/114817.html</link><dc:creator>Condor</dc:creator><author>Condor</author><pubDate>Sat, 08 May 2010 01:24:00 GMT</pubDate><guid>http://www.cppblog.com/rise-worlds/archive/2010/05/08/114817.html</guid><wfw:comment>http://www.cppblog.com/rise-worlds/comments/114817.html</wfw:comment><comments>http://www.cppblog.com/rise-worlds/archive/2010/05/08/114817.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/rise-worlds/comments/commentRss/114817.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rise-worlds/services/trackbacks/114817.html</trackback:ping><description><![CDATA[<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #008000">//</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Usage:&nbsp;SetThreadName&nbsp;(-1,&nbsp;"MainThread");<br></span><span style="COLOR: #008000">//<br></span><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">windows.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;MS_VC_EXCEPTION&nbsp;0x406D1388</span><span style="COLOR: #000000"><br><br>#pragma&nbsp;pack(push,</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">)<br>typedef&nbsp;</span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;tagTHREADNAME_INFO<br>{<br>&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwType;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Must&nbsp;be&nbsp;0x1000.</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;LPCSTR&nbsp;szName;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Pointer&nbsp;to&nbsp;name&nbsp;(in&nbsp;user&nbsp;addr&nbsp;space).</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwThreadID;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Thread&nbsp;ID&nbsp;(-1=caller&nbsp;thread).</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwFlags;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Reserved&nbsp;for&nbsp;future&nbsp;use,&nbsp;must&nbsp;be&nbsp;zero.</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">}&nbsp;THREADNAME_INFO;<br>#pragma&nbsp;pack(pop)<br><br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;SetThreadName(&nbsp;DWORD&nbsp;dwThreadID,&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;threadName)<br>{<br>&nbsp;&nbsp;&nbsp;Sleep(</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;THREADNAME_INFO&nbsp;info;<br>&nbsp;&nbsp;&nbsp;info.dwType&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0x1000</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;info.szName&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;threadName;<br>&nbsp;&nbsp;&nbsp;info.dwThreadID&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dwThreadID;<br>&nbsp;&nbsp;&nbsp;info.dwFlags&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;__try<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RaiseException(&nbsp;MS_VC_EXCEPTION,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(info)</span><span style="COLOR: #000000">/</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(ULONG_PTR),&nbsp;(ULONG_PTR</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">info&nbsp;);<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;__except(EXCEPTION_EXECUTE_HANDLER)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;}<br>}</span></div>
<br>
<p>转载至<a href="http://msdn.microsoft.com/en-us/library/xcb2z8hs.aspx"><u><font color=#6466b3>http://msdn.microsoft.com/en-us/library/xcb2z8hs.aspx</font></u></a></p>
<img src ="http://www.cppblog.com/rise-worlds/aggbug/114817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rise-worlds/" target="_blank">Condor</a> 2010-05-08 09:24 <a href="http://www.cppblog.com/rise-worlds/archive/2010/05/08/114817.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅谈:国内软件公司为何无法做大做强?</title><link>http://www.cppblog.com/rise-worlds/archive/2010/05/04/114345.html</link><dc:creator>Condor</dc:creator><author>Condor</author><pubDate>Tue, 04 May 2010 08:31:00 GMT</pubDate><guid>http://www.cppblog.com/rise-worlds/archive/2010/05/04/114345.html</guid><wfw:comment>http://www.cppblog.com/rise-worlds/comments/114345.html</wfw:comment><comments>http://www.cppblog.com/rise-worlds/archive/2010/05/04/114345.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/rise-worlds/comments/commentRss/114345.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rise-worlds/services/trackbacks/114345.html</trackback:ping><description><![CDATA[<p>　　纵览,国内比较大的软件公司(以下统一简称"国软"),清一色都是做政府项目的(他们能做大的原因我就不用说了吧),真正能做大的国软又有几家呢?更何况<a href="http://www.lupaworld.com/">开源</a>企业，这是为什么呢?<br>　　今天风吹就给大家简单分析下:<br>　　1."作坊"式管理<br>　　"作坊"往往是效率最高的, 国软几乎都是从作坊走过来的,但把作坊式的管理模式套用到一个不断壮大的公司中显然是不行的.组织架构到达一定程度后就必然要进行分工的细化,依靠作坊式的"暴力开发"是行不通的.<br>　　2."法制社会"<br>　　上班必须打卡,迟到要扣钱,还一次比一次多,加班没有加班费,反正算下来就是,只有扣钱的项目,没有加钱的项目.比起外企,人家上班不打卡,迟到不扣钱,加班有加班费,这样宽松点的环境不好吗?<br>　　3. 自身自灭<br>　　国软一般没有师徒制,有的话也只是形式上的,公司基本没人管你,你也不用去管别人,新进的员工,不管会不会,先丢个东西给你做,自己研究,不懂的google去.这也是为什么国软喜欢招有经验的人,因为没经验的人熬不住,跑了几个以后,国软就不招了.<br>　　4. 销售-开发-维护脱节<br>　　这点是非常严重的,会直接导致项目流产的.国软的典型的做法是,销售为了业绩,在没有调研的情况下就签了合同 (这里主要是指项目型的,产品型的一般可以控制),而且合同的范围也非常模糊,可大可小,接下来就是调研人员上场,调研后发现,10w块钱的合同,调研出来了100w的需求,接下来就是和客户扯皮,最后直接导致项目流产,甚至打上官司.项目或产品上线后,维护人员对系统不了解(一方面是没有文档,另外一方面维护人员一般没有参与到开发中),接下来往往就会发生两种情况:<br>　　a.维护人员在不了解系统的情况下擅自修改,结果导致系统越改问题 越多.<br>　　b.维护人员一不做二不休,所有客户反馈的问题全部打回给开发人员,于是开发人员就生不如死,在做别的项目的同时还要维护以前的项目,结果就是导致几个项目都失败.<br>　　5.缺乏规划<br>　　今天要用这个,明天想用那个(笔者就经历了公司在半年的时间内对框架进行了两次大的变动,导致开发人员都必须重新学习框架)产品也接,项目也接,大的也接,小的也接.今天领导说往左走,明天说往右走,也不能怪领导,他也没经验,我们就是他的DEMO.公司没有一个明确的目标,要做成什么样,只是一味的提出做大做强,但是没有规划出如何做大做强.(和我的标题一样哦)<br>　　6.三无-无需求,无设计,无测试.<br>　　a.没有文档是国软的通病,曾几何时,产品经理丢过来的那一句话:" 喂,**,给我做一个**模块来",然后开发人员就开始埋头苦写了.<br>　　b.当然如果你天资聪慧,可以轻易理解出产品经理的意思,那有没有设计都无所谓了,但是,当有一天别人要维护你的程序的时候问题就出现了,没有文档,代码又那么天马行空,怎么维护?改了这个地方,又影响了那个地方...<br>　　c.其实程序员都懂得测试的意义,可以工时安排的那么紧,哪来的时间测试?测试又没有算工时.所以几乎所有的程序员的做法就是,直接丢给用户测试<br>　　这时候有人肯定要问:那项目经理呢?他不是可以测试吗?请记住这是国软,刚才写代码的那个人就是项目经理,还是售前,还是设计人员,还是维护,还是...归结还是成本问题,在外资软件公司中,做文档的工时是比做开发的工时更多的,国软为了节省成本,这块当然要 CUT掉了.不必去追去文档有多么详细多么美观,需要做的就是找到一个平衡点,一份适合自己的文档.<br>　　7.员工都是"十项全能"<br>　　在国软里面的员工各个都是十项全能(笔者就是一个鲜明的例子,从系统调研分析设计,到进度管理,开发,测试,验收,实施,维护,甚至拉给客户拉网线都需要我去.)直接导致的结果就是这些员工每过多久就直接出来自己开公司了...嘿嘿又一家作坊诞生了...这样做对员工个人其实是有好处的,但是对于企业本上来说是没有好处的,并不是说员工成立了作坊,成为了你的竞争对手,而是让员工各个都是十项全能的结果就是<br>　　a.员工都是"十项全不 能".<br>　　b.员工一旦离职,他手头的项目必定流产.<br>　　c.对公司的发展是不利的(细化分工).<br>　　 8.莫不关心<br>　　老板并不知道员工在做什么,员工也不知道老板在做什么.上级很少去关心下级的工作,更别说去关心下级的生活,一个东西丢给你,一个月后交差,中间不管你任何事情,交不了差就唯你是问.下级也不知道能为上级分担什么,只有等着上级分配任务.甚至还有些老板都不不知道员工的名字,在这样的国软的,每个人都是孤立的,又怎么能做大做强呢?<br>　　9.企业文化<br>　　所谓十年树木,百年树人.国软的企业文化表面功夫算是做的很好的了,什么"为客户创造价值","做最好的行业解决方案","软件公司的最大资源就是人才"等等,要多华丽有多华丽,重复体现了"口号文化".真正做到企业文化又有多少呢?有多少仅仅是为了做给客户看的呢?<br>　　10.盲目跟风<br>　　很多国软看到人家外企软件公司最近在搞什么推进活动,就跟风,效仿外企做,可是无法领悟精髓,纯粹只是在模仿.(外企集体笑:"一直被模仿,从未被超越")做完了也不知道这么做的意义,劳民伤财.<br>　　11.缺乏"执行力"<br>　　国软的通病,就是"执行力",国软的学习劲头很足,今天提出要完善测试标准,明天提出要每周写工作报告,可是又有哪些东西能真正的去执行呢?<br>　　导致这个问题的主要原因有两个:<br>　　 a.提出来的东西到底有没必要做,还是只是应付领导走个过场.<br>　　b.谁来跟踪这些东西?员工写了工作报告,领导没有去查看,去反馈,员 工觉得写的也没意义,自然不会继续执行下去.<br>　　12.管理混乱<br>　　没有划分清楚员工的归属组织,员工并不明确他的上级领导是谁,导致有的员工处于游离状态,有的是员工又是多个领导,不懂要听谁的,有些人忙的要死,有些人又闲的要命,最后搞的最痛苦的就是员工,导致员工离职.<br>　　13.缺乏团队精神<br>　　为什么会缺乏团队精神呢?并不是国软没有这方面的概念,国软也很希望培养员工的团队观念 和精神,<br>　　无奈因为国软,一般都是一个人负责一个或者多个项目,连团队都没有,何来的团队精神?<br>　　14.无法做到补 足<br>　　一个项目一旦中途有人辞职,这个项目就会流产.一个员工一旦辞职,会有N个项目没人维护.A组的员工无法胜任B组的工作,归根结底就是组织上根本没有考虑过组织变动对项目的影响,没有提前培养人员.<br>　　15.一成不变和随心所欲<br>　　有两类人一种是把前辈的东西COPY过来,不作任何修改,因为他深信,前辈的一定是对的,还有一类是不管前人怎么做的,一律不要,全凭自己的"经验",随心所欲,天马行空的进行自主研发,造成的结果就是错的还是错的,乱的更乱了.<br>　　16.人才育成<br>　　成本,还是成本,培养一个人要多少成 本?这就是国软做不大的原因,永远只能停留在"作坊"的原因.<br>　　17.向心力.<br>　　老板做的是事业,员工做的是事情, 这是国软员工的一致观点.<br>　　18.恶性循环<br>　　a.人员力量不足 -&gt; 接不了项目 -&gt; 收入少 -&gt; 人员流失.<br>　　b.人员力量不足 -&gt; 强行接项目 -&gt; 亏本 -&gt; 破产.<br>　　最后 我想说一句的是:成也国软,败也国软.<br>　　说的不对的地方请大家指出,或者补充下没说到的地方.</p><img src ="http://www.cppblog.com/rise-worlds/aggbug/114345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rise-worlds/" target="_blank">Condor</a> 2010-05-04 16:31 <a href="http://www.cppblog.com/rise-worlds/archive/2010/05/04/114345.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不会&amp;ldquo;思维&amp;rdquo;只会&amp;ldquo;批判&amp;rdquo;，谨防网络舆论&amp;ldquo;怨妇化&amp;rdquo;</title><link>http://www.cppblog.com/rise-worlds/archive/2010/05/04/114317.html</link><dc:creator>Condor</dc:creator><author>Condor</author><pubDate>Tue, 04 May 2010 01:27:00 GMT</pubDate><guid>http://www.cppblog.com/rise-worlds/archive/2010/05/04/114317.html</guid><wfw:comment>http://www.cppblog.com/rise-worlds/comments/114317.html</wfw:comment><comments>http://www.cppblog.com/rise-worlds/archive/2010/05/04/114317.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rise-worlds/comments/commentRss/114317.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rise-worlds/services/trackbacks/114317.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 卫斯理大学校长迈克尔·罗斯(Michael Roth)近日撰文《超越评判式思维》(Beyond Critical Thinking)，警告学生不要变成只会批评，不会思维，却还一个个自鸣得意的废人。“批判性思维”一说缘起于1962年《哈佛教育评论》上罗伯特·恩尼斯（Robert H. Ennis)的一篇文章，此后这个说法就不胫而走，成为教育界多年以来一直追捧的一个话题 。 <p>&nbsp;&nbsp;&nbsp; 恩尼斯当初提出批判性思维，重点是“思维”，只不过如罗斯所述，不少人借“批评”来彰显自己的聪明，倒把“思维”给边缘化了。2002年，恩尼斯重新说明了批判性思维的一些特征，比如“思维开放，熟知多个选项的优劣”、“力求多方查证”、“善于判断信息来源” 、“识别言论的结论、推论和潜在假设”、“能形成合理的立场”、“善于发问，澄清问题本质”等。一言以蔽之，他是要大家养成严谨的思维习惯，不被人随意忽悠、人云亦云。 <p>&nbsp;&nbsp;&nbsp; 时隔半个世纪，恩尼斯老调重弹，再次强调批判性思维应该重“思维”，是而今传播方式的改变使然。 2009年，中国网络在不少公共事件中的正面作用显著，但网络也不是世外桃源，瞎起哄、瞎围观者也不少。中国社会科学院教授于建嵘在分析“泄愤事件”时说，“自从有了互联网，有了手机短信，现时代的中国已经没有了权威信息。”没有权威信息未必是坏事，就怕出现了错误的“权威信息”，一家独大。现在恰恰就是过去来自政府的“权威信息”，被网络“意见领袖”的“权威信息”所取代。网络推手能掀起波澜，制造出种种伪热点，让网民趋之若鹜，把网络变成了是非之地。 <p>&nbsp;&nbsp;&nbsp; 与此同时，追捧网络超级偶像的粉丝则自甘放逐到隧道式思维里，坐井观天，不去看学人的真知灼见，围观几个所谓“网络红人”的吃喝拉撒。北京大学新闻与传播学院教授胡泳曾指出，中国整个社会日益童稚化，他指的是舆论监管。其实还有另一种“童稚化”，那就是在接受信息，选择信息来源的时候，由于缺乏思考而导致的“无脑化”。 <p>&nbsp;&nbsp;&nbsp; 由于负面消息和批评容易引起轰动，在网络这个江湖里，一些本可善用其影响的人，堕落成了为否定而否定的人，比如海外一些不论青红皂白“逢中必反”的人。在否定的时候，他们又提不出什么建设性意见，变得“怨妇化”。 <p>&nbsp;&nbsp;&nbsp; “怨妇化”的“意见领袖”，外加“无脑化”的粉丝大军，就是目前中国网络上最大的景观。 <p>&nbsp;&nbsp;&nbsp; 笔者在上文提到的于建嵘，他的批评总是有建设性。因为他的真知灼见总是来自调查研究。当下，社会轻易就把“知识分子”头衔加在某人身上，理由是敢说话，却不在乎其话语到底是否有质量。见到几条负面消息，就把专家统统当作“砖家”，教授全部唤作“叫兽”。这样的反智倾向令人忧虑。 <p>&nbsp;&nbsp;&nbsp; 网络影响甚至左右舆论已成了既成事实。 网络能让愚蠢的人更蠢，让聪明的人更聪明，善用之者鉴别黑白，去伪存真，不善用者随波逐流，任人催眠。如罗斯教授强调的那样，在网络言论良莠不齐，牢骚过盛之时，读者或许应该把“批判性思维”的重点，从“批评”移到“思维”上。</p><img src ="http://www.cppblog.com/rise-worlds/aggbug/114317.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rise-worlds/" target="_blank">Condor</a> 2010-05-04 09:27 <a href="http://www.cppblog.com/rise-worlds/archive/2010/05/04/114317.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu 10.4的wubi安装BUG修正了</title><link>http://www.cppblog.com/rise-worlds/archive/2010/04/30/114024.html</link><dc:creator>Condor</dc:creator><author>Condor</author><pubDate>Fri, 30 Apr 2010 01:50:00 GMT</pubDate><guid>http://www.cppblog.com/rise-worlds/archive/2010/04/30/114024.html</guid><wfw:comment>http://www.cppblog.com/rise-worlds/comments/114024.html</wfw:comment><comments>http://www.cppblog.com/rise-worlds/archive/2010/04/30/114024.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/rise-worlds/comments/commentRss/114024.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rise-worlds/services/trackbacks/114024.html</trackback:ping><description><![CDATA[<p>昨天安装上10.4感觉还不错，主要看了下那个软件在线商店（名字忘记了），可以安装很多常用的软件，比如Google浏览器，<u><strong>Adobe</strong></u> Reader等。</p> <p>后来重启时发现我安装的MaxDOS没了，我还想是不是MaxDOS在Win7下安装没使用什么正规方法，后来在我家电脑上试试还是这样。</p> <p>还是觉得Ubuntu不会犯这种低级错误吧，没想到今天早上起来就看到，他们已经修正了这个BUG。</p> <p>&nbsp;</p> <p>新版Ubuntu是不错，不过只能当玩具看看，开发还是要用Windows 7 &amp; Office 2010 &amp; VS 2010,gcc和OpenOffice只能当小菜。</p><img src ="http://www.cppblog.com/rise-worlds/aggbug/114024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rise-worlds/" target="_blank">Condor</a> 2010-04-30 09:50 <a href="http://www.cppblog.com/rise-worlds/archive/2010/04/30/114024.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>禁止灵格斯2.7弹出&amp;ldquo;新奇英语 互动锐词&amp;rdquo;广告窗口的解决方法</title><link>http://www.cppblog.com/rise-worlds/archive/2010/04/27/113723.html</link><dc:creator>Condor</dc:creator><author>Condor</author><pubDate>Tue, 27 Apr 2010 09:26:00 GMT</pubDate><guid>http://www.cppblog.com/rise-worlds/archive/2010/04/27/113723.html</guid><wfw:comment>http://www.cppblog.com/rise-worlds/comments/113723.html</wfw:comment><comments>http://www.cppblog.com/rise-worlds/archive/2010/04/27/113723.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rise-worlds/comments/commentRss/113723.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rise-worlds/services/trackbacks/113723.html</trackback:ping><description><![CDATA[<p>禁止灵格斯2.7弹出“新奇英语 互动锐词”广告窗口的解决方法<br>用记事本打开并清空C:\Documents and Settings\Administrator\Application Data\Lingoes\Translator\tip.xml里的内容，保存后改属性为只读。<br></p> <p>win7 下的路径是C:\Users\用户名\AppData\Roaming\Lingoes\Translator\tip.xml</p> <p>为仿意外和日后所需，请自行备份。  <img src ="http://www.cppblog.com/rise-worlds/aggbug/113723.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rise-worlds/" target="_blank">Condor</a> 2010-04-27 17:26 <a href="http://www.cppblog.com/rise-worlds/archive/2010/04/27/113723.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>