<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[Lightning[0GiNr]]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[大江东去，浪淘尽，千古风流人物。 故垒西边，人道是，三国周郎赤壁。乱石穿空，惊涛拍岸，卷起千堆雪。江山如画，一时多少豪杰。]]></description>
<link>http://hi.baidu.com/aegisys</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[有关操作系统热]]></title>
        <link><![CDATA[http://hi.baidu.com/aegisys/blog/item/5a8d1429dd6639f498250a55.html]]></link>
        <description><![CDATA[
		
		最近Google发布了新的操作系统（基于Linux），据说百度也要搞自己的系统。<br>
个人觉得Google的操作系统想要在市场上（尤其是中国市场）占有一席之地真的压力很大，Windows几乎清一色地统治了个人和商用电脑，学校里使用的Linux又只是供计算机专业人士研究的系统。无论是从系统本身还是支持的应用软件上，Linux都占不到什么便宜。所以Linux想在短时间内打赢Windows绝非易事。<br>
好的消息是，似乎自WinXp之后，MS似乎就难以再续辉煌了。面对Vista和Win7的惊人返装率，微软不得不重新审视自己。自由软件的发展给了Linux极大的发展空间，同时也使得Windows的进展陷入了困境。<br>
不过对于百度的新系统也不需要大惊小怪，虽然没有确切消息，但我认为Baidu Operating System估计也是一个站在Linux肩上的边框。这个边框以所谓的“框计算”为主体。<br>
<br>
另外最重要的一点是：如果Linux有朝一日成为主流，我们这些以Win32 API为生的编程爱好者估计就得另寻出路了…… 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/aegisys/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/aegisys/blog/item/5a8d1429dd6639f498250a55.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-29  22:05</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[Aegisys]]></author>
		<guid>http://hi.baidu.com/aegisys/blog/item/5a8d1429dd6639f498250a55.html</guid>
</item>

<item>
        <title><![CDATA[字符排名统计]]></title>
        <link><![CDATA[http://hi.baidu.com/aegisys/blog/item/0e50531efda8d8fe1ad57634.html]]></link>
        <description><![CDATA[
		
		偶尔搞了一下ANSI字符统计（不分大小写），样本就是我机子上所有TXT + DOC文本文件，英文居多。<br>
下面是排名表：<br>
1 0x00 出现次数34412493 这个没有争议，当之无愧<br>
2 0x20 空格，出现次数3803638<br>
3 e&#160;&#160;&#160;&#160;&#160; 出现次数3729913，仅次于空格，字母e的出现频率是其他字母难以企及的<br>
4 s&#160;&#160;&#160;&#160;&#160; 出现次数3300682，这家伙经常和e聊天，有时比e来得还猛——<span class="hanzi"><span class="enword">assess<br>
5 i&#160;&#160;&#160;&#160;&#160;&#160; 出现次数3065434，“我”也不能落后<br>
6 t&#160;&#160;&#160;&#160;&#160;&#160; 出现次数2978557，我记得原来有数学书就它的出现次数仅次于e<br>
7 a 和 o 出现次数分别为2866889和2866190，不相上下<br>
9 c&#160;&#160;&#160;&#160;&#160; 出现次数2746047<br>
10 r&#160;&#160;&#160; 出现次数2595182<br>
</span></span> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/aegisys/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/aegisys/blog/item/0e50531efda8d8fe1ad57634.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-28  21:10</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[Aegisys]]></author>
		<guid>http://hi.baidu.com/aegisys/blog/item/0e50531efda8d8fe1ad57634.html</guid>
</item>

<item>
        <title><![CDATA[Foobar2000 V 1.0 Beta 发布了]]></title>
        <link><![CDATA[http://hi.baidu.com/aegisys/blog/item/33b79231a759e6a25edf0eb3.html]]></link>
        <description><![CDATA[
		
		插件越来越少了……连播放WMA都得手动下载添加……还是用0.9x吧~~<br>
<br>
另外，0.9x版本的Foo_input_ksp_midi还是可以在1.0中使用的。 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/aegisys/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/aegisys/blog/item/33b79231a759e6a25edf0eb3.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-27  11:48</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[Aegisys]]></author>
		<guid>http://hi.baidu.com/aegisys/blog/item/33b79231a759e6a25edf0eb3.html</guid>
</item>

<item>
        <title><![CDATA[换了QQ International]]></title>
        <link><![CDATA[http://hi.baidu.com/aegisys/blog/item/4c5f5589cc24cab90e244476.html]]></link>
        <description><![CDATA[
		
		功能减少了不少，广告也少了很多。 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/aegisys/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/aegisys/blog/item/4c5f5589cc24cab90e244476.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-22  21:32</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[Aegisys]]></author>
		<guid>http://hi.baidu.com/aegisys/blog/item/4c5f5589cc24cab90e244476.html</guid>
</item>

<item>
        <title><![CDATA[[VC笔记]菱形继承引发的问题]]></title>
        <link><![CDATA[http://hi.baidu.com/aegisys/blog/item/3784d3fabe5b42d4b48f31c3.html]]></link>
        <description><![CDATA[
		
		首先需要说明的是，在实际的工程应用中，应该尽量拒绝使用菱形继承，因为这样很容易导致模糊调用。<br>
<br>
那么，除了模糊调用外，菱形继承究竟会引发什么其他问题呢？我们先来看一个例子。<br>
class A<br>
{<br>
public:<br>
A(): m_a(2){}<br>
public:<br>
int m_a;<br>
};<br>
<br>
class B<br>
{<br>
public:<br>
B() : m_b(3){}<br>
public:<br>
int m_b;<br>
};<br>
class C : public A, public B<br>
{<br>
public:<br>
C() : m_c(4){}<br>
public:<br>
int m_c;<br>
};<br>
<br>
在代码中，类C从类A，B两个类中继承了两个成员m_a和m_b，所以类C的内存分布如下：<br>
offset&#160;&#160;&#160;&#160; member<br>
0&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; m_a<br>
4&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; m_b<br>
8&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; m_c<br>
大小共12字节。这样的安排是很明晰的，如果在main函数中调用如下代码：<br>
C c;<br>
A* p = static_cast&lt;A*&gt;(&amp;c);<br>
B* t = static_cast&lt;B*&gt;(&amp;c);<br>
那么p指向了offset 0处，而t指向了offset 4处，这时使用p和t两个指针都不会出错，程序正常执行。<br>
<br>
但是菱形继承完全打乱了这个计划。如果我们做如下修改：<br>
class CBase<br>
{<br>
public:<br>
CBase() : m_base(1){}<br>
public:<br>
int m_base;<br>
};<br>
class A : public CBase<br>
.....<br>
class B : public CBase<br>
....<br>
这样问题就来了，m_base成员是如何安排的？<br>
我们打开VC进行调试，会发现类C这时会存在两个m_base成员，标识符分别为C::A::m_base和C::B::m_base，类C的大小一下子膨胀到20字节！这可不是我们想要的。<br>
编译器这样做的原因可以从我们main函数中的两个cast转换中得到答案：<font color="#ff0000">如果不实现两个m_base成员，那么将无法满足p和t两个指针有意义。</font><br>
或许有人说，虚继承不是可以共享m_base成员吗？那好，我们看看虚继承是怎么做的：<br>
class A : public virtual CBase<br>
.....<br>
class B : public virtual CBase<br>
现在运行程序，在Watch中查看C的内存分布，C::A::m_base显示为1，而C::B::m_base变成了无法访问，p和t指针能成功地引用到m_base。虽然从内存分布上好像说不通，但看起来问题似乎得到了解决。<br>
然而事情远没有想象中的那么简单，现在计算sizeof(C)，结果让人大跌眼镜：竟然是24!类C的大小不但没有减少，反而增加了4字节！<br>
<br>
我们来看Memory窗口中显示了什么：这里的类c的内存分布，&amp;c = 0x0012FF68<br>
<span><img border="0" src="http://hiphotos.baidu.com/aegisys/pic/item/662d42816e25f6f6bc3e1e95.jpg" small="0" class="blogimg"></span><br>
注意红笔勾住的部分，这些数据是哪儿来的？这些数据对p指针和t指针对m_base成员的定位有什么关系？<br>
看起来，这两数据像是一个地址，那么这个地址处放着什么？还是Memory窗口告诉了我们答案：<br>
<span><img border="0" src="http://hiphotos.baidu.com/aegisys/pic/item/3a7d58c668a121359c163d74.jpg" small="0" class="blogimg"></span><br>
<br>
<br>
至于得到引用p-&gt;m_base和t-&gt;m_base的具体处理过程，这个问题就留给大家吧~~ 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/aegisys/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/aegisys/blog/item/3784d3fabe5b42d4b48f31c3.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-15  16:44</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[Aegisys]]></author>
		<guid>http://hi.baidu.com/aegisys/blog/item/3784d3fabe5b42d4b48f31c3.html</guid>
</item>

<item>
        <title><![CDATA[VC的警告级别还是调高些好]]></title>
        <link><![CDATA[http://hi.baidu.com/aegisys/blog/item/ab7b1701210217047bec2cbe.html]]></link>
        <description><![CDATA[
		
		这样的确能发现不少BUG，虽然也会顺带把STL的一些东西也报成警告。<br>
<br>
另外，Opera Turbo好像不能用了。 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/aegisys/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/aegisys/blog/item/ab7b1701210217047bec2cbe.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-14  22:39</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[Aegisys]]></author>
		<guid>http://hi.baidu.com/aegisys/blog/item/ab7b1701210217047bec2cbe.html</guid>
</item>

<item>
        <title><![CDATA[雪已经下了半米厚]]></title>
        <link><![CDATA[http://hi.baidu.com/aegisys/blog/item/85bc97388b69e9c8d56225b2.html]]></link>
        <description><![CDATA[
		
		今天晚上还将有暴雪…… 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/aegisys/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/aegisys/blog/item/85bc97388b69e9c8d56225b2.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-11  21:41</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[Aegisys]]></author>
		<guid>http://hi.baidu.com/aegisys/blog/item/85bc97388b69e9c8d56225b2.html</guid>
</item>

<item>
        <title><![CDATA[好大的雪]]></title>
        <link><![CDATA[http://hi.baidu.com/aegisys/blog/item/baaa7d43084f101b9213c63f.html]]></link>
        <description><![CDATA[
		
		下了一尺多……今天我们这儿的坡上扒着一排车……<br>
明天去学校看来要坐11路了……<br>
<br>
2009-11-11 PS:一晚上又下了10cm，被困了…… 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/aegisys/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/aegisys/blog/item/baaa7d43084f101b9213c63f.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-10  18:41</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[Aegisys]]></author>
		<guid>http://hi.baidu.com/aegisys/blog/item/baaa7d43084f101b9213c63f.html</guid>
</item>

<item>
        <title><![CDATA[一个小题]]></title>
        <link><![CDATA[http://hi.baidu.com/aegisys/blog/item/289074af2224d6f1fbed50ac.html]]></link>
        <description><![CDATA[
		
		前些天写程序时想到的，叙述如下：<br>
现有<font color="#ff0000">纯字母</font>组成的单词A和单词B，设计一个函数，验证这两个单词是否是同一单词（<font color="#ff0000">不区分大小写</font>）。<br>
试求较<font color="#ff0000">快</font>的解法。<br>
<br>
示例：<br>
Check(&quot;winDow&quot;, &quot;Window&quot;) == TRUE;<br>
Check(&quot;PspCreateProcess&quot;, &quot;PsCreateProcess&quot;) == FALSE;<br>
Check(&quot;FireFox&quot;, &quot;FireFox&quot;) == TRUE;<br>
<br>
我的方法在下面，其实中间的思想大家基本上都想到了。<br>
bool Equal(const char* A, const char* B)<br>
{<br>
for(; *A != '\0' &amp;&amp; *B != '\0' &amp;&amp; ((*A - *B) &amp; 0x1F) == 0; A++, B++);<br>
return *A == '\0' &amp;&amp; *B == '\0';<br>
} 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/aegisys/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/aegisys/blog/item/289074af2224d6f1fbed50ac.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-08  20:59</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[Aegisys]]></author>
		<guid>http://hi.baidu.com/aegisys/blog/item/289074af2224d6f1fbed50ac.html</guid>
</item>

<item>
        <title><![CDATA[KsSuperGraphEx V 4.010]]></title>
        <link><![CDATA[http://hi.baidu.com/aegisys/blog/item/b34a923ee66abaf0828b1398.html]]></link>
        <description><![CDATA[
		
		愿钱老一路走好。<br>
<br>
正文：<br>
嗯，新加了一些菜单。<br>
<font color="#ff0000">感谢FC的FTP支持，现将三个软件的新下载地址放这儿：</font><br>
KsSuperGraphEx: <a href="http://www.0ginr.com/lightning/KsSuperGraphEx.exe" target="_blank">http://www.0ginr.com/lightning/KsSuperGraphEx.exe</a><br>
含帮助文件版：<a href="http://www.0ginr.com/lightning/KsSuperGraphEx.rar" target="_blank">http://www.0ginr.com/lightning/KsSuperGraphEx.rar</a><br>
<br>
Foo_input_ksp_midi: <a href="http://www.0ginr.com/lightning/foo_input_ksp_midi1.002Beta.rar" target="_blank">http://www.0ginr.com/lightning/foo_input_ksp_midi1.002Beta.rar</a><br>
KsMusicMonitor: <a href="http://www.0ginr.com/lightning/KsMusicMonitor.exe" target="_blank">http://www.0ginr.com/lightning/KsMusicMonitor.exe</a><br>
<br>
<span><img border="0" class="blogimg" small="0" src="http://hiphotos.baidu.com/aegisys/pic/item/0241d31fdc9ade24314e150b.jpg"></span> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/aegisys/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/aegisys/blog/item/b34a923ee66abaf0828b1398.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-01  21:59</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[Aegisys]]></author>
		<guid>http://hi.baidu.com/aegisys/blog/item/b34a923ee66abaf0828b1398.html</guid>
</item>


</channel>
</rss>