<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.kylogs.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.kylogs.com" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/juchen" type="application/rss+xml"></fs:self_link><lastBuildDate>Mon, 01 Dec 2008 04:42:34 GMT</lastBuildDate><title>Semantic Web Notes</title><description>Life,Goes On and On...</description><image><url>http://www.feedsky.com/feed/juchen/sc/gif</url><title>Semantic Web Notes</title><link>http://www.kylogs.com/blog</link></image><link>http://www.kylogs.com/blog</link><language>en</language><pubDate>Mon, 01 Dec 2008 04:42:34 GMT</pubDate><item><title>生活的忧伤</title><link>http://www.kylogs.com/blog/archives/736.html</link><content:encoded>&lt;p&gt;现在，在一些无所事事的时刻，他总是要想起一些有趣的片段。&lt;/p&gt;
&lt;p&gt;在6个年前的秋天里面，有一辆破旧的自行车陪伴着，在田间的小马路里随意的骑，他欣赏稻谷收割掉后被暂时遗弃的田园，他似乎能闻到这个时刻空气里许多快乐的味道。阳光像水纹一样——他总有许多奇怪的感觉——充满着这片暂时荒芜的世界。这样的世界里，他觉得活着很有滋味。&lt;/p&gt;
&lt;p&gt;他是我的朋友，他没有多少朋友，他总觉得我是一个能够理解他的兄弟，总是碎碎叨叨的跟我谈论一些其实无趣的事情。其实我总是不想听这些的，因为我常常不能明白他的想法，总是会做一些很白痴的回答。但我还是蛮喜欢跟他聊天的，跟一个充满才华的聊天总是一件让人觉得很虚荣，很快乐的事情。&lt;/p&gt;
&lt;p&gt;我不大明白我们之间有着什么共同点，或许只是因为，我们都是很容易寂寞的人。我们的寂寞都无时不在。有的时候，我搂着身边的mm，她的长发贴着我的脸，我很近的看着她精致的脸庞，她会偶尔亲吻我的额头和眼睛，她会驱散我的所有&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%bf%a7%e4%bc%a4&quot;&gt;忧伤&lt;/a&gt;和寂寞。就算她回去没有多久，就算我知道亲爱的她的心还留在这里，但是风一吹，回到自己的世界，看着书本与机器，它们就又侵袭过来。&lt;/p&gt;
&lt;p&gt;我跟他说过亲爱的人能带来的快乐，温柔和安心的味道。他说他知道，他又说他知道&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%88%b1%e6%83%85&quot;&gt;爱情&lt;/a&gt;的美妙其实是跟鸦片一样的，迷醉了，消失了，渴望了，对于人生的寂寞毫无帮助。他说他知道，&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%88%b1%e6%83%85&quot;&gt;爱情&lt;/a&gt;只是会不断的加深人生的寂寞。做为感情至上的人，我不能同意他的观点，但是愚笨如我，是想不出反驳的句子的。他的世界比我的更有道理，而我的人生比他更加的简单，所以我的快乐会多一些。&lt;/p&gt;
&lt;p&gt;现在有的时候会想起他的一些话，会想到他以后会有怎么样的生活，会想到究竟什么样的东西会让他满足？也会对比着想想现在的自己。好像有些&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%bf%a7%e4%bc%a4&quot;&gt;忧伤&lt;/a&gt;，存在于&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%94%9f%e6%b4%bb&quot;&gt;生活&lt;/a&gt;的每一个角落，总是挥之不去。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;像躲在心里的鬼，那颓废如魑魅般跟随。&lt;/p&gt;&lt;/blockquote&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;July 31, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/460.html&quot; title=&quot;25岁&quot;&gt;25岁&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;© 陈炬 for &lt;a href=&quot;http://www.kylogs.com/blog&quot;&gt;Semantic Web Notes&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/736.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/736.html#comments&quot;&gt;Add comment&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.kylogs.com/blog/archives/736.html&amp;title=生活的忧伤&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%88%b1%e6%83%85&quot; rel=&quot;tag&quot;&gt;爱情&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%94%9f%e6%b4%bb&quot; rel=&quot;tag&quot;&gt;生活&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%bf%a7%e4%bc%a4&quot; rel=&quot;tag&quot;&gt;忧伤&lt;/a&gt;&lt;br/&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/92840ed4f0ab639bbc55b586fedb8e67&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/92840ed4f0ab639bbc55b586fedb8e67/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=e2504c1e1d66ee73bc121b7ea4d20a8e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=e2504c1e1d66ee73bc121b7ea4d20a8e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=806ed804ac8861884b06b34ab54bd62e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=806ed804ac8861884b06b34ab54bd62e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=785cf2be4f91d3fea73f25908d5dcc3f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=785cf2be4f91d3fea73f25908d5dcc3f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=d2fa48b21538094e2343858b95e23ffa&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=d2fa48b21538094e2343858b95e23ffa&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=3f0689384570cdd60e192fde6fc8c59b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=3f0689384570cdd60e192fde6fc8c59b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.kylogs.com/blog/archives/736.html/feed</wfw:commentRss><description>现在，在一些无所事事的时刻，他总是要想起一些有趣的片段。
在6个年前的秋天里面，有一辆破旧的自行车陪伴着，在田间的小马路里随意的骑，他欣赏稻谷收割掉后被暂时遗弃的田园，他似...&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/92840ed4f0ab639bbc55b586fedb8e67&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/92840ed4f0ab639bbc55b586fedb8e67/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=e2504c1e1d66ee73bc121b7ea4d20a8e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=e2504c1e1d66ee73bc121b7ea4d20a8e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=806ed804ac8861884b06b34ab54bd62e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=806ed804ac8861884b06b34ab54bd62e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=785cf2be4f91d3fea73f25908d5dcc3f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=785cf2be4f91d3fea73f25908d5dcc3f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=d2fa48b21538094e2343858b95e23ffa&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=d2fa48b21538094e2343858b95e23ffa&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=3f0689384570cdd60e192fde6fc8c59b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=3f0689384570cdd60e192fde6fc8c59b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>生活</category><category>爱情</category><category>Life</category><category>忧伤</category><pubDate>Mon, 01 Dec 2008 12:42:34 +0800</pubDate><author>陈炬</author><comments>http://www.kylogs.com/blog/archives/736.html#comments</comments><guid isPermaLink="false">http://www.kylogs.com/blog/?p=736</guid><dc:creator>陈炬</dc:creator><fs:srclink>http://www.kylogs.com/blog/archives/736.html</fs:srclink><fs:srcfeed>http://www.kylogs.com/blog/wp-feed.php</fs:srcfeed><fs:itemid>feedsky/juchen/~5925245/144211737/1315498</fs:itemid></item><item><title>说说C语言和内存对齐</title><link>http://www.kylogs.com/blog/archives/710.html</link><content:encoded>&lt;blockquote&gt;&lt;p&gt;我看东西，看得快，忘得也奇快。大概2星期重新研究过&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%86%85%e5%ad%98%e5%af%b9%e9%bd%90&quot;&gt;内存对齐&lt;/a&gt;，现在都快忘光了，于是赶紧再回忆一下。 &lt;img src='http://www.kylogs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;所谓&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%86%85%e5%ad%98%e5%af%b9%e9%bd%90&quot;&gt;内存对齐&lt;/a&gt;，即使得数据所在内存地址的起点应尽量对齐(是某个值的公倍数)，而不是凌乱不堪的。一般我们把8个bit看成1一个byte，用byte来做存储的单位，其实也是一种&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%86%85%e5%ad%98%e5%af%b9%e9%bd%90&quot;&gt;内存对齐&lt;/a&gt;的机制——这样处理器访问数据只需要访问8的倍数即可。&lt;/p&gt;
&lt;p&gt;内存对齐的目的很简单，这样有利于提供访问的速度（特别是在栈中）。对于对齐的内存地址，处理器访问一次即可得到，而未对齐的地址，可能需要访问两次才行。&lt;/p&gt;
&lt;p&gt;那内存对齐的最小单位是什么呢？其实不同平台上不同的编译器都有自己的决定(猜的)，编译器的这个决定叫做&lt;strong&gt;默认对齐系数&lt;/strong&gt;。我们在自己编写程序的时候很少会去注意到这个对齐问题，这个很正常，因为这机制本身就应该是对程序员透明的。但是，我们还是能够在程序中觉察到对齐机制的存在。如果程序员没有正确意识到对齐机制的存在，有的时候它甚至会让程序的行为不正确。我举个小小的例子来说明下。&lt;br /&gt;
假设有这样一个&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%bb%93%e6%9e%84%e4%bd%93&quot;&gt;结构体&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;c c&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333;&quot;&gt;typedef&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; ex&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; c1;
	&lt;span style=&quot;color: #993333;&quot;&gt;char&lt;/span&gt; c2;
        &lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; c3;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;ve;  &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*  1  */&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;我的运行环境是gcc4.0+, ubuntu8.04, 32位单核cpu，sizeof(char)是1，sizeof(int)是4，猜猜sizeof(ve)的值会是多少？如果程序员不清楚内存对齐的概念的话会认为这个值是6，但其实是12。在这里面，有4个成员需要对齐，c1,c2,c3,ve，c1,c2,c3跟ve的对齐规则并不一致。&lt;/p&gt;
&lt;p&gt;c1,c2,c3的对齐过程如下（对齐系数是4的前提下）：假设第一个成员放在offset为0的位置，那么c1所占的内存就是[0~3]，而c2所占的内存是[4]，c3所占的内存不是[5~8]，而是[8~12]，但如果c3是char类型的话，c3所占的内存就是[5]。&lt;/p&gt;
&lt;p&gt;所以&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%bb%93%e6%9e%84%e4%bd%93&quot;&gt;结构体&lt;/a&gt;内成员的对齐规则如下：假设第一个成员的offset是0，则之后成员的对齐系数是&lt;em&gt;系统的对齐系数&lt;/em&gt;（可以通过pragma pack(x)来指定）和自身长度两者间较小的值。比如，系统的对齐系数是4，而char的长度是1，那么char就按1对齐。而int的长度是4，于系统对齐系数一致，则按4对齐。&lt;/p&gt;
&lt;p&gt;从上面这个规则，我们可以看到一个有趣的问题，&lt;strong&gt;在&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%bb%93%e6%9e%84%e4%bd%93&quot;&gt;结构体&lt;/a&gt;内，成员的摆放顺序不同，结构体所占空间是不同的&lt;/strong&gt;。比如，&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;c c&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333;&quot;&gt;typedef&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; ex&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #993333;&quot;&gt;char&lt;/span&gt; c1;
	&lt;span style=&quot;color: #993333;&quot;&gt;char&lt;/span&gt; c2;
        &lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; c3;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;ve; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*  2  */&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;与&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;c c&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333;&quot;&gt;typedef&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; ex&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #993333;&quot;&gt;char&lt;/span&gt; c1;
	&lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; c3;
        &lt;span style=&quot;color: #993333;&quot;&gt;char&lt;/span&gt; c2;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;ve; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*  3  */&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;，前者所占的空间是8，而后者所占空间是12。但是对于程序的逻辑而言，两者的定义是完全一致的。了解对齐规则是有好处的，至少我们写出来的结构体空间占用更小些。 &lt;img src='http://www.kylogs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;说完了c1,c2,c3的对齐，下面说ve的对齐。sizeof(ve)的值事实上并不是如我们分析的c1,c2,c3对齐完之后所占空间的累加，它自身也是需要对齐的。结构体的对齐规则如下：取其成员中占用空间最长的值，我们的例子中是int类型，值是4，然后跟系统的对齐系数比较，取较小值为ve的对齐系数。如果我们在结构体2中，语句int c3;后面再加一句char temp;我们可以算出成员所占的空间是9，而ve所占的空间是12。
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;September 3, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/667.html&quot; title=&quot;easyC-API中关于动态数组(Vector)的实现与使用方法简介&quot;&gt;easyC-API中关于动态数组(Vector)的实现与使用方法简介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 1, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/648.html&quot; title=&quot;关于C语言的typedef&quot;&gt;关于C语言的typedef&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 31, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/635.html&quot; title=&quot;easyC-API项目介绍&quot;&gt;easyC-API项目介绍&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 22, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/579.html&quot; title=&quot;C函数指针的偏门作用&quot;&gt;C函数指针的偏门作用&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 21, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/570.html&quot; title=&quot;C与C++在函数指针上的区别&quot;&gt;C与C++在函数指针上的区别&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;© 陈炬 for &lt;a href=&quot;http://www.kylogs.com/blog&quot;&gt;Semantic Web Notes&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/710.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/710.html#comments&quot;&gt;Add comment&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.kylogs.com/blog/archives/710.html&amp;title=说说C语言和内存对齐&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/c&quot; rel=&quot;tag&quot;&gt;C&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%bb%93%e6%9e%84%e4%bd%93&quot; rel=&quot;tag&quot;&gt;结构体&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%86%85%e5%ad%98%e5%af%b9%e9%bd%90&quot; rel=&quot;tag&quot;&gt;内存对齐&lt;/a&gt;&lt;br/&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/fbaaa6dbd9b3b354f95877e21224aac9&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/fbaaa6dbd9b3b354f95877e21224aac9/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=442c187011acc4b6606614cdadcd0bd2&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=442c187011acc4b6606614cdadcd0bd2&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=c115d6657a75e3b84670724ff8d1071a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=c115d6657a75e3b84670724ff8d1071a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=15db8eabcab7e864169b2613909e9618&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=15db8eabcab7e864169b2613909e9618&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=a83f02dbca08a66bc5843b3dfaf572d3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=a83f02dbca08a66bc5843b3dfaf572d3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=608f877a264cfb35d6b80e9dcc4dae7f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=608f877a264cfb35d6b80e9dcc4dae7f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.kylogs.com/blog/archives/710.html/feed</wfw:commentRss><description>我看东西，看得快，忘得也奇快。大概2星期重新研究过内存对齐，现在都快忘光了，于是赶紧再回忆一下。  
所谓内存对齐，即使得数据所在内存地址的起点应尽量对齐(是某个值的公倍数)，...&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/fbaaa6dbd9b3b354f95877e21224aac9&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/fbaaa6dbd9b3b354f95877e21224aac9/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=442c187011acc4b6606614cdadcd0bd2&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=442c187011acc4b6606614cdadcd0bd2&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=c115d6657a75e3b84670724ff8d1071a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=c115d6657a75e3b84670724ff8d1071a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=15db8eabcab7e864169b2613909e9618&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=15db8eabcab7e864169b2613909e9618&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=a83f02dbca08a66bc5843b3dfaf572d3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=a83f02dbca08a66bc5843b3dfaf572d3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=608f877a264cfb35d6b80e9dcc4dae7f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=608f877a264cfb35d6b80e9dcc4dae7f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>C</category><category>内存对齐</category><category>C/C++</category><category>结构体</category><pubDate>Mon, 17 Nov 2008 23:41:43 +0800</pubDate><author>陈炬</author><comments>http://www.kylogs.com/blog/archives/710.html#comments</comments><guid isPermaLink="false">http://www.kylogs.com/blog/?p=710</guid><dc:creator>陈炬</dc:creator><fs:srclink>http://www.kylogs.com/blog/archives/710.html</fs:srclink><fs:srcfeed>http://www.kylogs.com/blog/wp-feed.php</fs:srcfeed><fs:itemid>feedsky/juchen/~5925245/144211738/1315498</fs:itemid></item><item><title>堕落的日子</title><link>http://www.kylogs.com/blog/archives/729.html</link><content:encoded>&lt;div id=&quot;blogContent&quot; class=&quot;text-article&quot;&gt;
&lt;p&gt;过了一段混乱的日子，这样的混乱还是在继续的延续，不太晓得，什么时候才能摆脱。&lt;/p&gt;
&lt;p&gt;前两天下到了李宗盛的一个演唱会，一边又一边的听，找到了一首&amp;#8221;生命中的精灵&amp;#8221;，大叔真是有灵性。这些凌乱的旋律与想法，在这些日子里不断的交杂，我实在是理不清楚。&lt;/p&gt;
&lt;p&gt;又翻了一边Alain的&amp;#8221;身份的焦虑&amp;#8221;，觉得这位才子大哥跟一般的才子们不一样的地方就是他知道的比较多，他想得比较清楚，他只有少许的迷茫。&lt;/p&gt;
&lt;p&gt;9 月初开始投简历了，每天看各大bbs的job版，偶尔接到笔试和面试通知，偶尔被公司鄙视或者鄙视公司。算是这段浑浑噩噩生活的开始。9月底得到了一个大 牛公司的dream offer，干的工作也很酷，很底层，可以远离Java。于是开始懒散，无所事事。然后金融危机开始变得越来越夸张，hr突然电话我，告知我由于金融危机 这个季度的hc被冻结了，offer具体情况要12月才能从米国审批下来。愣了愣，想想这个offer没戏了，但也没觉得有多不爽，继续&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e6%89%be%e5%b7%a5%e4%bd%9c&quot;&gt;找工作&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;面 了百度，在二面的时候跟hr谈了下对工作与生活的看法，我的意见是要很平衡的，我不会为一份job而放弃掉自己生活的节奏。hr对我的意见，不置可否，她 个人或许是同意的，但百度的加班是常常到深夜，我这样的人或许不够资格的。是年轻人，却不愿意拼。当时，还没有清楚，今年的形势有多么糟糕，自己的姿态也 是蛮高的。过了几天，被淘宝面试官给鄙视了，这次，我感觉比较无语，情绪也很低落，被一个自己不怎么愿意去的公司鄙视是蛮难过的，很容易自我怀疑。记得那 个下午，mm陪我吃了午饭，我有点心不在焉。又天天的逛bbs的job版，几乎都成了强迫症。Google不理我，M$不理我，心里蛮遗憾的，心里又骂了 几遍投行的那帮猪头。&lt;/p&gt;
&lt;p&gt;10月中旬拿到了网易杭研究院的offer，拿offer的前一天很开心，因为从网上搜到的网易杭研 的待遇超过我期望不少。ask.com在杭州给的是12K/M，而传闻网易在杭州IT工资最高，YY了半天。第二天拿到offer，白YY了，失落了半 天。果然商人的话不能信，比ask低了不少。&lt;/p&gt;
&lt;p&gt;总是有了希望，然后一场空。Morgan Stanley的电面很伤心，觉得完全没希望了，考虑了半天，心一狠，觉得去趟杭州，签了。走前，跟mm和老朋友吃饭，吃饭完陪mm听宣讲会，听完之后找 了个地方，在一起3年了，她觉得没激情了，觉得最近对我没感觉了，然后&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%88%86%e6%89%8b&quot;&gt;分手&lt;/a&gt;了。或许是找工作让我太烦躁了，有些冷落她。奇怪的是这一切都很平淡，我竟然没 有太伤心，太难过。&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%88%86%e6%89%8b&quot;&gt;分手&lt;/a&gt;之后还是浑浑噩噩的过日子，眼睛有点疼，不断的眨眼，现在依然是。&lt;/p&gt;
&lt;p&gt;去杭州的火车上，睡在上铺，晚上没人聊天了，灯也关了。我听着歌，开始回想这三年的点点滴滴，慢慢开始难受，慢慢开始痛苦。歌不好听，人也烦，给人发短信，却什么都不想说。&lt;/p&gt;
&lt;p&gt;不断的安慰自己，老子都年薪那么高了，吃遍杭州美食去，美食不比美女重要多么！重复了几遍这个咒语，却不顶用，放弃了，睁着眼睛，撑到天亮。&lt;/p&gt;
&lt;p&gt;浙大玉泉是第二次去了，情人坡好漂亮。记得上次是在同样的地方，水完GRE后给mm打电话，这次去情人坡却是烟雨迷蒙，一个高中同学陪着。走走停停，瞎说话，瞎想，瞎难过。&lt;/p&gt;
&lt;p&gt;回来的时候收到了MS的终面通知，我又开始YY了。YY了一天，兴奋的感觉就没了，就算拿到offer了又怎么样呢？会更加开心么？&lt;/p&gt;
&lt;p&gt;有 的时候得到的东西的太多，期望的太多，而自己又没有一颗智慧，懂得感恩的心灵，幸福的阀值是会越来越高的。为了让自己更加快乐，我一直在&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e8%bf%bd%e6%b1%82&quot;&gt;追求&lt;/a&gt;许多外在的东 西，但无论成功与否，每次&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e8%bf%bd%e6%b1%82&quot;&gt;追求&lt;/a&gt;都会给自己带来更多的失落。再看看&amp;#8221;身份的焦虑&amp;#8221;，觉得Alain的分析确实是很在理，但是，他没能告诉我们该怎么办。&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;Most Commented Posts&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;August 19, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/564.html&quot; title=&quot;wordpress Plugin：Automatic Tag to Link&quot;&gt;wordpress Plugin：Automatic Tag to Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;July 28, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/425.html&quot; title=&quot;WP-Plugin: Welcome Visitors&quot;&gt;WP-Plugin: Welcome Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/guestbook&quot; title=&quot;留言本&quot;&gt;留言本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 18, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/58.html&quot; title=&quot;蓝蓝的天空和生活&quot;&gt;蓝蓝的天空和生活&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 13, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/507.html&quot; title=&quot;wordpress Plugin：Most Recent Visitors&quot;&gt;wordpress Plugin：Most Recent Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 27, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/617.html&quot; title=&quot;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&quot;&gt;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 3, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/495.html&quot; title=&quot;WordPress插件：欢迎新用户&quot;&gt;WordPress插件：欢迎新用户&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/718.html&quot; title=&quot;随便说说&quot;&gt;随便说说&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 22, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/61.html&quot; title=&quot;我的5个怪癖和5个有5个怪癖的人&quot;&gt;我的5个怪癖和5个有5个怪癖的人&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 24, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/79.html&quot; title=&quot;和猪看世界之——上海三校&quot;&gt;和猪看世界之——上海三校&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;© 陈炬 for &lt;a href=&quot;http://www.kylogs.com/blog&quot;&gt;Semantic Web Notes&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/729.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/729.html#comments&quot;&gt;4 comments&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.kylogs.com/blog/archives/729.html&amp;title=堕落的日子&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e8%bf%bd%e6%b1%82&quot; rel=&quot;tag&quot;&gt;追求&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%88%86%e6%89%8b&quot; rel=&quot;tag&quot;&gt;分手&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e6%89%be%e5%b7%a5%e4%bd%9c&quot; rel=&quot;tag&quot;&gt;找工作&lt;/a&gt;&lt;br/&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/a6e556ebeaf2371cd8671e7e2ee67c24&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/a6e556ebeaf2371cd8671e7e2ee67c24/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=0b789054a031aa963075d249c69b62c6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=0b789054a031aa963075d249c69b62c6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=df55dba432b7e12ca9e53d499fd7901b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=df55dba432b7e12ca9e53d499fd7901b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=f46b4adecc2eb5d50e63c429a0e511f6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=f46b4adecc2eb5d50e63c429a0e511f6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=6a21b52a500efb9a44937c9db350f488&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=6a21b52a500efb9a44937c9db350f488&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=c2a109ec2e989a15f1b711769a4ff440&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=c2a109ec2e989a15f1b711769a4ff440&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.kylogs.com/blog/archives/729.html/feed</wfw:commentRss><description>过了一段混乱的日子，这样的混乱还是在继续的延续，不太晓得，什么时候才能摆脱。
前两天下到了李宗盛的一个演唱会，一边又一边的听，找到了一首&amp;#8221;生命中的精灵&amp;#8221;，大叔真是有...&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/a6e556ebeaf2371cd8671e7e2ee67c24&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/a6e556ebeaf2371cd8671e7e2ee67c24/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=0b789054a031aa963075d249c69b62c6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=0b789054a031aa963075d249c69b62c6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=df55dba432b7e12ca9e53d499fd7901b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=df55dba432b7e12ca9e53d499fd7901b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=f46b4adecc2eb5d50e63c429a0e511f6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=f46b4adecc2eb5d50e63c429a0e511f6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=6a21b52a500efb9a44937c9db350f488&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=6a21b52a500efb9a44937c9db350f488&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=c2a109ec2e989a15f1b711769a4ff440&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=c2a109ec2e989a15f1b711769a4ff440&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>找工作</category><category>追求</category><category>Life</category><category>Think Free</category><category>分手</category><pubDate>Mon, 17 Nov 2008 16:29:14 +0800</pubDate><author>陈炬</author><comments>http://www.kylogs.com/blog/archives/729.html#comments</comments><guid isPermaLink="false">http://www.kylogs.com/blog/?p=729</guid><dc:creator>陈炬</dc:creator><fs:srclink>http://www.kylogs.com/blog/archives/729.html</fs:srclink><fs:srcfeed>http://www.kylogs.com/blog/wp-feed.php</fs:srcfeed><fs:itemid>feedsky/juchen/~5925245/144211739/1315498</fs:itemid></item><item><title>随风而去</title><link>http://www.kylogs.com/blog/archives/724.html</link><content:encoded>&lt;p&gt;&amp;#8220;&lt;a href=&quot;http://mp3.baidu.com/m?f=ms&amp;amp;rn=&amp;amp;tn=baidump3&amp;amp;ct=134217728&amp;amp;word=%CB%E6%B7%E7%B6%F8%C8%A5&amp;amp;lm=-1&quot;&gt;随风而去&lt;/a&gt;&amp;#8220;是&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e4%bc%8d%e4%bd%b0&quot;&gt;伍佰&lt;/a&gt;很久以前的作品了。&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e4%bc%8d%e4%bd%b0&quot;&gt;伍佰&lt;/a&gt;有的作品非常离谱，有的却是十分精彩。推荐下不熟悉&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e4%bc%8d%e4%bd%b0&quot;&gt;伍佰&lt;/a&gt;这个流氓的同学听听这首“&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e9%9a%8f%e9%a3%8e%e8%80%8c%e5%8e%bb&quot;&gt;随风而去&lt;/a&gt;” :).&lt;/p&gt;
&lt;p&gt;听歌要有心境，有的歌，当你还很稚嫩的时候你会不明白词与曲之间隐含的痛快与哀伤。当许多的心酸与快乐已经过去，许多的梦想与豪情已经过去，在一些不经意的瞬间里，那些音符，那些言语，和他们在一起的氛围，就让你觉得在那么多人的生命里，喜怒哀乐是何其的相似，就让你觉得自己依然是过去的那个自己，所改变的只是一些额外的装饰。自己依然是自己，身边的一切，却都&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e9%9a%8f%e9%a3%8e%e8%80%8c%e5%8e%bb&quot;&gt;随风而去&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;很惊讶伍佰这样的野蛮大叔，年轻的时候还能写出那么温柔的歌词，果然每一个人，都有他柔情的时刻：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;让所有的爱通通&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e9%9a%8f%e9%a3%8e%e8%80%8c%e5%8e%bb&quot;&gt;随风而去&lt;/a&gt;&lt;br /&gt;
转眼之间无痕迹&lt;br /&gt;
让淡淡清香留在心底&lt;br /&gt;
不再有相思的悲凄&lt;br /&gt;
让青春年少疯狂时的秘密&lt;br /&gt;
化成彩虹般绮丽&lt;br /&gt;
让时间的河将我流走&lt;br /&gt;
像白云一样不回头&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3&gt;Most Commented Posts&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;August 19, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/564.html&quot; title=&quot;wordpress Plugin：Automatic Tag to Link&quot;&gt;wordpress Plugin：Automatic Tag to Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;July 28, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/425.html&quot; title=&quot;WP-Plugin: Welcome Visitors&quot;&gt;WP-Plugin: Welcome Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/guestbook&quot; title=&quot;留言本&quot;&gt;留言本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 18, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/58.html&quot; title=&quot;蓝蓝的天空和生活&quot;&gt;蓝蓝的天空和生活&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 13, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/507.html&quot; title=&quot;wordpress Plugin：Most Recent Visitors&quot;&gt;wordpress Plugin：Most Recent Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 27, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/617.html&quot; title=&quot;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&quot;&gt;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 3, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/495.html&quot; title=&quot;WordPress插件：欢迎新用户&quot;&gt;WordPress插件：欢迎新用户&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/718.html&quot; title=&quot;随便说说&quot;&gt;随便说说&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 22, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/61.html&quot; title=&quot;我的5个怪癖和5个有5个怪癖的人&quot;&gt;我的5个怪癖和5个有5个怪癖的人&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 24, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/79.html&quot; title=&quot;和猪看世界之——上海三校&quot;&gt;和猪看世界之——上海三校&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;© 陈炬 for &lt;a href=&quot;http://www.kylogs.com/blog&quot;&gt;Semantic Web Notes&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/724.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/724.html#comments&quot;&gt;Add comment&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.kylogs.com/blog/archives/724.html&amp;title=随风而去&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e9%9a%8f%e9%a3%8e%e8%80%8c%e5%8e%bb&quot; rel=&quot;tag&quot;&gt;随风而去&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e9%9f%b3%e4%b9%90&quot; rel=&quot;tag&quot;&gt;音乐&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e4%bc%8d%e4%bd%b0&quot; rel=&quot;tag&quot;&gt;伍佰&lt;/a&gt;&lt;br/&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/ab5122e883fbb2b7f2c3913605636cd1&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/ab5122e883fbb2b7f2c3913605636cd1/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=75c0dc5fe2caf9cdbd32f3d36ee5ae62&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=75c0dc5fe2caf9cdbd32f3d36ee5ae62&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=e0cd633b8d2435ad88837b42fc636ab7&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=e0cd633b8d2435ad88837b42fc636ab7&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=d7386e8df09c0a72c9087d72ca85de76&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=d7386e8df09c0a72c9087d72ca85de76&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=af6894932b54ed9e16333f91146a002c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=af6894932b54ed9e16333f91146a002c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=6ee32faa8a59009ed1795ae6f8e0321e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=6ee32faa8a59009ed1795ae6f8e0321e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.kylogs.com/blog/archives/724.html/feed</wfw:commentRss><description>&amp;#8220;随风而去&amp;#8220;是伍佰很久以前的作品了。伍佰有的作品非常离谱，有的却是十分精彩。推荐下不熟悉伍佰这个流氓的同学听听这首“随风而去” :).
听歌要有心境，有的歌，当你还很稚嫩...&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/ab5122e883fbb2b7f2c3913605636cd1&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/ab5122e883fbb2b7f2c3913605636cd1/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=75c0dc5fe2caf9cdbd32f3d36ee5ae62&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=75c0dc5fe2caf9cdbd32f3d36ee5ae62&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=e0cd633b8d2435ad88837b42fc636ab7&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=e0cd633b8d2435ad88837b42fc636ab7&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=d7386e8df09c0a72c9087d72ca85de76&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=d7386e8df09c0a72c9087d72ca85de76&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=af6894932b54ed9e16333f91146a002c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=af6894932b54ed9e16333f91146a002c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=6ee32faa8a59009ed1795ae6f8e0321e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=6ee32faa8a59009ed1795ae6f8e0321e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>音乐</category><category>Music&amp;amp;Comic</category><category>随风而去</category><category>Think Free</category><category>伍佰</category><pubDate>Tue, 11 Nov 2008 15:49:07 +0800</pubDate><author>陈炬</author><comments>http://www.kylogs.com/blog/archives/724.html#comments</comments><guid isPermaLink="false">http://www.kylogs.com/blog/?p=724</guid><dc:creator>陈炬</dc:creator><fs:srclink>http://www.kylogs.com/blog/archives/724.html</fs:srclink><fs:srcfeed>http://www.kylogs.com/blog/wp-feed.php</fs:srcfeed><fs:itemid>feedsky/juchen/~5925245/144211741/1315498</fs:itemid></item><item><title>随便说说</title><link>http://www.kylogs.com/blog/archives/718.html</link><content:encoded>&lt;p&gt;已经有较长的一段时间没有更新&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/blog&quot;&gt;blog&lt;/a&gt;了，最近实在是比较忙，实验室的事情特别多。有专利要写，有东西要设计，还有ppt报告要做&amp;#8230;，还要找工作。&lt;/p&gt;
&lt;p&gt;有人觉得写&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/blog&quot;&gt;blog&lt;/a&gt;其实标题很重要，我这篇post的标题就是不好的典型。这样的标题对搜索引擎来说基本没有价值，这篇文章也将在搜索引擎收录的汪洋大海中沉没。由于title或者metadata中的关键字在很多的搜索引擎中有着相当高的权值（相对于该页的其他内容），充满关键字的标题也会给&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/blog&quot;&gt;blog&lt;/a&gt;带来不少流量，也就是说做标题党是很有好处的。这点新浪首页将标题党的本质展现的淋漓尽致。&lt;/p&gt;
&lt;p&gt;但是，对于一个原创的blogger而言，流量其实是蛮尴尬的事情。写blog跟写日记是有区别的，写blog有一个目的就是让自己的文章被别人看到，而写日记有一个特点就是让自己的文章不被别人看到。blogger当然需要有评论，需要有别人的共鸣，孤独的自我谈论是很难长久的。就是说我们blogger需要有流量，需要自己的站点更多的被展示。这样的结果就会导致blogger在写文章的时候小心翼翼：设计标题让它有更多关键词，写一些自己不感兴趣却热门的话题，选词造句不是为了准确的描述，而是为了添加更多的关键字&amp;#8230;..这样为了搜索引擎而写的blogger，过得非常辛苦。&lt;/p&gt;
&lt;p&gt;我不是反对&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/seo&quot;&gt;SEO&lt;/a&gt;，我自己也装了一些&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/seo&quot;&gt;SEO&lt;/a&gt;插件，只是觉得&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/seo&quot;&gt;SEO&lt;/a&gt;不当从post的内容着手（虽然这是最有效的方法），而可以从页面的结构上去设计。内容过于注重SEO的blog和post，我觉得时间长了会没有价值。&lt;/p&gt;
&lt;p&gt;说起来，现在搜索引擎的力量真是很受重视。大家可以搜索 &lt;a href=&quot;http://www.google.com/search?q=%E6%96%B0%E6%B5%AA+%E4%BC%8A%E5%88%A9+%E5%85%AC%E5%85%B3&amp;amp;ie=utf-8&amp;amp;oe=utf-8&quot;&gt;新浪 伊利 公关&lt;/a&gt;，还可以看看新浪这个报道奶粉检查结果的&lt;a href=&quot;http://news.sina.com.cn/c/2008-09-16/223516300523.shtml&quot;&gt;页面&lt;/a&gt;，“伊利”两字是这么写的：“伊-利”。hoho。&lt;br /&gt;
&lt;h3&gt;Most Commented Posts&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;August 19, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/564.html&quot; title=&quot;wordpress Plugin：Automatic Tag to Link&quot;&gt;wordpress Plugin：Automatic Tag to Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;July 28, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/425.html&quot; title=&quot;WP-Plugin: Welcome Visitors&quot;&gt;WP-Plugin: Welcome Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/guestbook&quot; title=&quot;留言本&quot;&gt;留言本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 18, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/58.html&quot; title=&quot;蓝蓝的天空和生活&quot;&gt;蓝蓝的天空和生活&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 13, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/507.html&quot; title=&quot;wordpress Plugin：Most Recent Visitors&quot;&gt;wordpress Plugin：Most Recent Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 27, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/617.html&quot; title=&quot;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&quot;&gt;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 3, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/495.html&quot; title=&quot;WordPress插件：欢迎新用户&quot;&gt;WordPress插件：欢迎新用户&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/718.html&quot; title=&quot;随便说说&quot;&gt;随便说说&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 22, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/61.html&quot; title=&quot;我的5个怪癖和5个有5个怪癖的人&quot;&gt;我的5个怪癖和5个有5个怪癖的人&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 24, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/79.html&quot; title=&quot;和猪看世界之——上海三校&quot;&gt;和猪看世界之——上海三校&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;© 陈炬 for &lt;a href=&quot;http://www.kylogs.com/blog&quot;&gt;Semantic Web Notes&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/718.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/718.html#comments&quot;&gt;9 comments&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.kylogs.com/blog/archives/718.html&amp;title=随便说说&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/blog&quot; rel=&quot;tag&quot;&gt;blog&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/seo&quot; rel=&quot;tag&quot;&gt;SEO&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e4%bc%8a%e5%88%a9%e5%85%ac%e5%85%b3&quot; rel=&quot;tag&quot;&gt;伊利公关&lt;/a&gt;&lt;br/&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/a26a1c71ff5f7b2d47b32b65438b19b7&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/a26a1c71ff5f7b2d47b32b65438b19b7/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=d9732c8d8dd377210fc0f5736311e348&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=d9732c8d8dd377210fc0f5736311e348&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=818708528d109786f6aff82f61fd6b46&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=818708528d109786f6aff82f61fd6b46&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=ffaa1411223691a670a217fd0730a207&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=ffaa1411223691a670a217fd0730a207&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=8841de4cb1f120e63ddef7e42c0f9c00&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=8841de4cb1f120e63ddef7e42c0f9c00&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=d5d7f9ceffe7e75b753e2d2054ba9880&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=d5d7f9ceffe7e75b753e2d2054ba9880&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.kylogs.com/blog/archives/718.html/feed</wfw:commentRss><description>已经有较长的一段时间没有更新blog了，最近实在是比较忙，实验室的事情特别多。有专利要写，有东西要设计，还有ppt报告要做&amp;#8230;，还要找工作。
有人觉得写blog其实标题很重要，我这篇post...&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/a26a1c71ff5f7b2d47b32b65438b19b7&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/a26a1c71ff5f7b2d47b32b65438b19b7/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=d9732c8d8dd377210fc0f5736311e348&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=d9732c8d8dd377210fc0f5736311e348&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=818708528d109786f6aff82f61fd6b46&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=818708528d109786f6aff82f61fd6b46&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=ffaa1411223691a670a217fd0730a207&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=ffaa1411223691a670a217fd0730a207&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=8841de4cb1f120e63ddef7e42c0f9c00&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=8841de4cb1f120e63ddef7e42c0f9c00&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=d5d7f9ceffe7e75b753e2d2054ba9880&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=d5d7f9ceffe7e75b753e2d2054ba9880&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>SEO</category><category>伊利公关</category><category>blog</category><category>Think Free</category><pubDate>Sat, 20 Sep 2008 11:22:27 +0800</pubDate><author>陈炬</author><comments>http://www.kylogs.com/blog/archives/718.html#comments</comments><guid isPermaLink="false">http://www.kylogs.com/blog/?p=718</guid><dc:creator>陈炬</dc:creator><fs:srclink>http://www.kylogs.com/blog/archives/718.html</fs:srclink><fs:srcfeed>http://www.kylogs.com/blog/wp-feed.php</fs:srcfeed><fs:itemid>feedsky/juchen/~5925245/144211742/1315498</fs:itemid></item><item><title>关于爬虫</title><link>http://www.kylogs.com/blog/archives/704.html</link><content:encoded>&lt;p&gt;一直传闻（&lt;a href=&quot;http://www.kenengba.com/post/515.html&quot;&gt;传闻1&lt;/a&gt;，&lt;a href=&quot;http://fairyfish.net/2008/09/07/taobao-disallow-baidu/&quot;&gt;传闻2&lt;/a&gt;）&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%99%be%e5%ba%a6&quot;&gt;百度&lt;/a&gt;除了派正常爬虫，还会派匿名爬虫来抓取网站信息。爬虫要伪装agent信息的原因很简单，可以做一些不想让人知道的事情。比如，疯狂抓取页面，可以不遵守Robots.txt等等。不过看了一些之前对&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%99%be%e5%ba%a6&quot;&gt;百度&lt;/a&gt;的匿名爬虫的文章。我觉得有时候这个不一定是&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%99%be%e5%ba%a6&quot;&gt;百度&lt;/a&gt;搜索引擎的&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%88%ac%e8%99%ab&quot;&gt;爬虫&lt;/a&gt;（虽然ip是来自于百度公司的），很有可能一些匿名的&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%88%ac%e8%99%ab&quot;&gt;爬虫&lt;/a&gt;是来源于百度一些研究性项目。我们实验室也写过&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%88%ac%e8%99%ab&quot;&gt;爬虫&lt;/a&gt;寻找web service的描述文件（最后是利用google了&amp;#8230;.），以进行分析。由于算法的问题，实验性的爬虫可能会过度访问一些站点，以至于表现不是很道德。&lt;/p&gt;
&lt;p&gt;我的blog也常常被微软live的伪装爬虫光顾（每天几十次），&lt;a href=&quot;http://tongji.cn.yahoo.com/&quot;&gt;yahoo统计&lt;/a&gt;和&lt;a href=&quot;http://www.clicki.cn&quot;&gt;clicki&lt;/a&gt;统计等统计程序都认为是人而不是爬虫，但是它的行为显然不是，ip的区段都是米国微软公司的，ref URL是live中关于某个词的搜索页面，而我的页面排名在live搜索中很靠后，基本上正常人不会&lt;strong&gt;常常&lt;/strong&gt;翻到搜索结果的最后几页。所以我怀疑这个爬虫是微软利用live的搜索结果在做些研究。&lt;/p&gt;
&lt;p&gt;对于我这样这样访问量不多的小blog(一共每天150ip左右)，爬虫的访问量要占总访问量的大部分，前两天还因为我的blog占用cpu过高而短时间内&lt;a href=&quot;http://www.dreamhost.com&quot;&gt;被dreamhost&lt;/a&gt;停止了服务。虽然dreamhost的口碑一般且过度销售，但是大概1天1000左右的ip对它而言还是可以接受的。这只能说明有大量的爬虫在访问我的blog。随着引向我blog的链接越来越多，来光顾的爬虫也越来越多。特别是做了几个插件之后，有了wordpress.org/extend/plugins到我blog的链接，随之而来的垃圾评论越来越多，每天100多个广告评论，相当崩溃。最近正想方法来避免一些有害爬虫的访问，比如判断ip，然后返回其404？待试验了再说。&lt;br /&gt;
&lt;h3&gt;Most Commented Posts&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;August 19, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/564.html&quot; title=&quot;wordpress Plugin：Automatic Tag to Link&quot;&gt;wordpress Plugin：Automatic Tag to Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;July 28, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/425.html&quot; title=&quot;WP-Plugin: Welcome Visitors&quot;&gt;WP-Plugin: Welcome Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/guestbook&quot; title=&quot;留言本&quot;&gt;留言本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 18, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/58.html&quot; title=&quot;蓝蓝的天空和生活&quot;&gt;蓝蓝的天空和生活&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 13, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/507.html&quot; title=&quot;wordpress Plugin：Most Recent Visitors&quot;&gt;wordpress Plugin：Most Recent Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 27, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/617.html&quot; title=&quot;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&quot;&gt;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 3, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/495.html&quot; title=&quot;WordPress插件：欢迎新用户&quot;&gt;WordPress插件：欢迎新用户&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/718.html&quot; title=&quot;随便说说&quot;&gt;随便说说&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 22, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/61.html&quot; title=&quot;我的5个怪癖和5个有5个怪癖的人&quot;&gt;我的5个怪癖和5个有5个怪癖的人&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 24, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/79.html&quot; title=&quot;和猪看世界之——上海三校&quot;&gt;和猪看世界之——上海三校&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;© 陈炬 for &lt;a href=&quot;http://www.kylogs.com/blog&quot;&gt;Semantic Web Notes&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/704.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/704.html#comments&quot;&gt;6 comments&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.kylogs.com/blog/archives/704.html&amp;title=关于爬虫&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%88%ac%e8%99%ab&quot; rel=&quot;tag&quot;&gt;爬虫&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e7%99%be%e5%ba%a6&quot; rel=&quot;tag&quot;&gt;百度&lt;/a&gt;&lt;br/&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/2d9b981e2b4ab36670cd2cd22fec62b8&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/2d9b981e2b4ab36670cd2cd22fec62b8/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=95213a999e3bbf40a6c93149b3846b52&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=95213a999e3bbf40a6c93149b3846b52&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=1482d56bd8d2ce6a2af5507eaaab0bd6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=1482d56bd8d2ce6a2af5507eaaab0bd6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=1532e8303398e34bd2bf8cd3c192f00d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=1532e8303398e34bd2bf8cd3c192f00d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=a0f36e18c19d7d5ee3510c296a86c5c8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=a0f36e18c19d7d5ee3510c296a86c5c8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=95a5ea337489d0d383a7f9eee68d5b0f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=95a5ea337489d0d383a7f9eee68d5b0f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.kylogs.com/blog/archives/704.html/feed</wfw:commentRss><description>一直传闻（传闻1，传闻2）百度除了派正常爬虫，还会派匿名爬虫来抓取网站信息。爬虫要伪装agent信息的原因很简单，可以做一些不想让人知道的事情。比如，疯狂抓取页面，可以不遵守Robots....&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/2d9b981e2b4ab36670cd2cd22fec62b8&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/2d9b981e2b4ab36670cd2cd22fec62b8/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=95213a999e3bbf40a6c93149b3846b52&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=95213a999e3bbf40a6c93149b3846b52&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=1482d56bd8d2ce6a2af5507eaaab0bd6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=1482d56bd8d2ce6a2af5507eaaab0bd6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=1532e8303398e34bd2bf8cd3c192f00d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=1532e8303398e34bd2bf8cd3c192f00d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=a0f36e18c19d7d5ee3510c296a86c5c8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=a0f36e18c19d7d5ee3510c296a86c5c8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=95a5ea337489d0d383a7f9eee68d5b0f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=95a5ea337489d0d383a7f9eee68d5b0f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>爬虫</category><category>百度</category><category>Days of Our Life</category><pubDate>Tue, 09 Sep 2008 17:23:21 +0800</pubDate><author>陈炬</author><comments>http://www.kylogs.com/blog/archives/704.html#comments</comments><guid isPermaLink="false">http://www.kylogs.com/blog/?p=704</guid><dc:creator>陈炬</dc:creator><fs:srclink>http://www.kylogs.com/blog/archives/704.html</fs:srclink><fs:srcfeed>http://www.kylogs.com/blog/wp-feed.php</fs:srcfeed><fs:itemid>feedsky/juchen/~5925245/144211743/1315498</fs:itemid></item><item><title>IDE的意义</title><link>http://www.kylogs.com/blog/archives/698.html</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.douban.com/subject/1850994/&quot;&gt;&lt;img style=&quot;border:none; float:left;padding:0 20px 20px 0;&quot; src=&quot;http://otho.douban.com/mpic/s3223126.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;这两天在看一本书：&lt;a href=&quot;http://www.douban.com/subject/1850994/&quot;&gt;Managing Projects with GNU Make&lt;/a&gt;。我每次看书，都会产生一些跟书的内容本身并不非常相关的想法。我看这本书的目的是要为&lt;a href=&quot;http://code.google.com/p/easyc-api&quot;&gt;easyC-API&lt;/a&gt;建立一个好用的&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/makefile&quot;&gt;makefile&lt;/a&gt;文件，另外也是对其有些好奇。&lt;/p&gt;
&lt;p&gt;待到书看了一半，我就想到了&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/ide&quot;&gt;IDE&lt;/a&gt;，Eclipse CDT, DEV C++等帮助我们创建管理项目的工具。我觉得那才是一个程序员应该去用的工具，而不是去手工一个&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/makefile&quot;&gt;makefile&lt;/a&gt;文件。因为看着这些&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/makefile&quot;&gt;makefile&lt;/a&gt;的编写规则，我觉得让它的自动生成是完全可以做到的，既然可以利用工具完全可以做到，普通的程序员就完全不需要去了解这里面的机制，就像我们不了解Java的Byte Code，也不了解JVM生存Byte Code的规则，但是我们依然能写出漂亮的Java应用。用人手工去写makefile文件是存在许多弊端的:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;需要非常精通makefile的规则，也就是需要额外的学习；&lt;/li&gt;
&lt;li&gt;非常容易出错，对于大型的项目而言，几乎难以避免；&lt;/li&gt;
&lt;li&gt;程序员之间沟通不方便，makefile文件虽然是比较直观的，但是不同的人编写风格存在着较大的差异，不如用工具生成的容易理解——如果采用工具生成，甚至你都不必去理解它；&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;我要说的是，手工编写makefile很酷，但是只能自己玩，不要强迫别人跟你一起玩。以上结论，对Ant同样适用。&lt;br /&gt;
&lt;h3&gt;Most Commented Posts&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;August 19, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/564.html&quot; title=&quot;wordpress Plugin：Automatic Tag to Link&quot;&gt;wordpress Plugin：Automatic Tag to Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;July 28, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/425.html&quot; title=&quot;WP-Plugin: Welcome Visitors&quot;&gt;WP-Plugin: Welcome Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/guestbook&quot; title=&quot;留言本&quot;&gt;留言本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 18, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/58.html&quot; title=&quot;蓝蓝的天空和生活&quot;&gt;蓝蓝的天空和生活&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 13, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/507.html&quot; title=&quot;wordpress Plugin：Most Recent Visitors&quot;&gt;wordpress Plugin：Most Recent Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 27, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/617.html&quot; title=&quot;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&quot;&gt;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 3, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/495.html&quot; title=&quot;WordPress插件：欢迎新用户&quot;&gt;WordPress插件：欢迎新用户&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/718.html&quot; title=&quot;随便说说&quot;&gt;随便说说&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 22, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/61.html&quot; title=&quot;我的5个怪癖和5个有5个怪癖的人&quot;&gt;我的5个怪癖和5个有5个怪癖的人&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 24, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/79.html&quot; title=&quot;和猪看世界之——上海三校&quot;&gt;和猪看世界之——上海三校&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;© 陈炬 for &lt;a href=&quot;http://www.kylogs.com/blog&quot;&gt;Semantic Web Notes&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/698.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/698.html#comments&quot;&gt;2 comments&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.kylogs.com/blog/archives/698.html&amp;title=IDE的意义&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/gnu-make&quot; rel=&quot;tag&quot;&gt;GNU make&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/ide&quot; rel=&quot;tag&quot;&gt;IDE&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/makefile&quot; rel=&quot;tag&quot;&gt;makefile&lt;/a&gt;&lt;br/&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/8deaac00a08198857b4f919cc9e9823e&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/8deaac00a08198857b4f919cc9e9823e/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=a4dc0ccae086a16936bee07d2bf630ad&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=a4dc0ccae086a16936bee07d2bf630ad&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=ee8ce6fdd418b15d02211a95fcfecd11&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=ee8ce6fdd418b15d02211a95fcfecd11&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=fe00d4842da013b9415d0e8b2cdb025d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=fe00d4842da013b9415d0e8b2cdb025d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=2437cea588dd31f96d86c1928bc685de&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=2437cea588dd31f96d86c1928bc685de&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=c1a6a24ade8de813ce181545acedf35c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=c1a6a24ade8de813ce181545acedf35c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.kylogs.com/blog/archives/698.html/feed</wfw:commentRss><description>这两天在看一本书：Managing Projects with GNU Make。我每次看书，都会产生一些跟书的内容本身并不非常相关的想法。我看这本书的目的是要为easyC-API建立一个好用的makefile文件，另外也是对其有些...&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/8deaac00a08198857b4f919cc9e9823e&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/8deaac00a08198857b4f919cc9e9823e/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=a4dc0ccae086a16936bee07d2bf630ad&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=a4dc0ccae086a16936bee07d2bf630ad&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=ee8ce6fdd418b15d02211a95fcfecd11&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=ee8ce6fdd418b15d02211a95fcfecd11&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=fe00d4842da013b9415d0e8b2cdb025d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=fe00d4842da013b9415d0e8b2cdb025d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=2437cea588dd31f96d86c1928bc685de&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=2437cea588dd31f96d86c1928bc685de&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=c1a6a24ade8de813ce181545acedf35c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=c1a6a24ade8de813ce181545acedf35c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>GNU make</category><category>makefile</category><category>Think Free</category><category>IDE</category><category>Techs</category><pubDate>Sun, 07 Sep 2008 08:40:54 +0800</pubDate><author>陈炬</author><comments>http://www.kylogs.com/blog/archives/698.html#comments</comments><guid isPermaLink="false">http://www.kylogs.com/blog/?p=698</guid><dc:creator>陈炬</dc:creator><fs:srclink>http://www.kylogs.com/blog/archives/698.html</fs:srclink><fs:srcfeed>http://www.kylogs.com/blog/wp-feed.php</fs:srcfeed><fs:itemid>feedsky/juchen/~5925245/144211744/1315498</fs:itemid></item><item><title>降低选择的数量</title><link>http://www.kylogs.com/blog/archives/674.html</link><content:encoded>&lt;p&gt;如果我们要设计一个系统（或者&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e6%a1%86%e6%9e%b6&quot;&gt;框架&lt;/a&gt;，或者程序&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e8%ae%be%e8%ae%a1&quot;&gt;设计&lt;/a&gt;语言），我们是让它对实现一个功能有一种解决方案好，还是有20种解决方案好（对系统的使用者而言）？这个问题似乎很容易回答，显然是有20种方案更好些。20种不同的方案显然都有着不同的优缺点，可以使得方案的效果更加的可控，挑选的余地更大。一般情况下是是这样的，不过我最近看书的时候常常想一个问题：假使从20个方案挑选一个需要的难度和花费，比直接使用第一种方案要高很多，那么有着更多的解决办法还是一件好事么？&lt;/p&gt;
&lt;p&gt;我的观点是否定的。我从程序&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e8%ae%be%e8%ae%a1&quot;&gt;设计&lt;/a&gt;语言的角度来举个例子。假如有一天我&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e8%ae%be%e8%ae%a1&quot;&gt;设计&lt;/a&gt;了一种新的程序设计语言，名字叫SuperPERL（我不是要讽刺Perl），其最大的特点就是自由。实现每个功能都可以有无数的写法，使得不同背景的程序员都能够轻松过渡到SuperPERL。比如，打开文件这样的操作，有如下几种写法：
&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;java java&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;//方法1：&lt;/span&gt;
&lt;span style=&quot;color: #003399;&quot;&gt;File&lt;/span&gt; file&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; file&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;path&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #003399;&quot;&gt;InputStream&lt;/span&gt; is&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;FileInputStream&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;file&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
Scanner s&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Scanner&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;is&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;//方法2：%%表示调用shell命令&lt;/span&gt;
&lt;span style=&quot;color: #003399;&quot;&gt;StringBuffer&lt;/span&gt; fb&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #003399;&quot;&gt;StringBuffer&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #003399;&quot;&gt;StringBuffer&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;addContent&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;%%echo $myfile&amp;gt;$fb&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;//方法3:&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #003399;&quot;&gt;File&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;file&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;open_file&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;myfile&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;//方法4:&lt;/span&gt;
.....&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;
看着其实很不错，SuperPERL能把各种语言都能融会贯通，程序员能够随心所欲的写出正确的代码，一个C程序或者一个&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/java&quot;&gt;Java&lt;/a&gt;程序员，或者Basic程序员都能顺利的使用这种语言。但是如果我们面对的是一位初学者呢？他买了A书，然后学到SuperPERL打开文件是按方法1做的，买了B书，然后学到打开文件是按方法4作的，然后他的老师告诉他应该按方法2做，他同学，一位大牛告诉他SuprePERL中最具效率的打开文件的方法应该是第二种，其他方法都是土鳖做法&amp;#8230;&amp;#8230;如果在学习SuperPERL中的每一个功能都要发生以上的故事，我想他肯定会放弃这种编程语言的。&lt;br /&gt;
其次是沟通的困难，一个C转过来的程序员，很快乐的编写着SuperPERL程序：用着自己熟悉的语法，写出非常时尚的代码。但是他同事可能以前是一位Pascal程序员，不难想象这两位用着同一种编程语言共同开发项目时会产生的困境——互相之间看不懂对方的代码。&lt;/p&gt;
&lt;p&gt;功能不是越多越方便，选择不是越多越好，对于程序设计语言，对于各种应用&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e6%a1%86%e6%9e%b6&quot;&gt;框架&lt;/a&gt;而言，尤其如此。如果我是某个语言或者&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e6%a1%86%e6%9e%b6&quot;&gt;框架&lt;/a&gt;的设计师，我的设计准则肯定会有一条是：&lt;b&gt;公开的概念（也就是使用者需要学习的概念）越少越好，拥有的选择越少越好&lt;/b&gt;。少的概念有利于初学者的学习，也有利于开发者之间的沟通。&lt;/p&gt;
&lt;p&gt;想想&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/java&quot;&gt;Java&lt;/a&gt;世界无数需要理解与学习的概念吧，&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/java&quot;&gt;Java&lt;/a&gt;世界正朝着相反的方向前进。&lt;/p&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;August 25, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/613.html&quot; title=&quot;再考虑singleton在Java中的实现的一些问题&quot;&gt;再考虑singleton在Java中的实现的一些问题&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 18, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/528.html&quot; title=&quot;对象与实例的区别&quot;&gt;对象与实例的区别&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;July 26, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/419.html&quot; title=&quot;关于Eclipse将Java APP项目打包成jar的问题&quot;&gt;关于Eclipse将Java APP项目打包成jar的问题&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;© 陈炬 for &lt;a href=&quot;http://www.kylogs.com/blog&quot;&gt;Semantic Web Notes&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/674.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/674.html#comments&quot;&gt;Add comment&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.kylogs.com/blog/archives/674.html&amp;title=降低选择的数量&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e8%ae%be%e8%ae%a1&quot; rel=&quot;tag&quot;&gt;设计&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/java&quot; rel=&quot;tag&quot;&gt;Java&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e6%a1%86%e6%9e%b6&quot; rel=&quot;tag&quot;&gt;框架&lt;/a&gt;&lt;br/&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/52fd3d54e3e7468a349f0d147469e834&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/52fd3d54e3e7468a349f0d147469e834/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=b341fb6efaebf80f2c5a3bae0370d5f6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=b341fb6efaebf80f2c5a3bae0370d5f6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=e28e5828e545b43fc210ba9adf0fc953&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=e28e5828e545b43fc210ba9adf0fc953&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=6a045d48c849f5d0584e3a553093b07e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=6a045d48c849f5d0584e3a553093b07e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=84814331bc0675faae4dc1372a898512&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=84814331bc0675faae4dc1372a898512&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=8346e4b28e031285ac25c4309a2012df&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=8346e4b28e031285ac25c4309a2012df&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.kylogs.com/blog/archives/674.html/feed</wfw:commentRss><description>如果我们要设计一个系统（或者框架，或者程序设计语言），我们是让它对实现一个功能有一种解决方案好，还是有20种解决方案好（对系统的使用者而言）？这个问题似乎很容易回答，显然是...&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/52fd3d54e3e7468a349f0d147469e834&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/52fd3d54e3e7468a349f0d147469e834/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=b341fb6efaebf80f2c5a3bae0370d5f6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=b341fb6efaebf80f2c5a3bae0370d5f6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=e28e5828e545b43fc210ba9adf0fc953&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=e28e5828e545b43fc210ba9adf0fc953&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=6a045d48c849f5d0584e3a553093b07e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=6a045d48c849f5d0584e3a553093b07e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=84814331bc0675faae4dc1372a898512&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=84814331bc0675faae4dc1372a898512&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=8346e4b28e031285ac25c4309a2012df&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=8346e4b28e031285ac25c4309a2012df&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>wordpress</category><category>Java</category><category>设计</category><category>Think Free</category><category>框架</category><pubDate>Sat, 06 Sep 2008 13:33:16 +0800</pubDate><author>陈炬</author><comments>http://www.kylogs.com/blog/archives/674.html#comments</comments><guid isPermaLink="false">http://www.kylogs.com/blog/?p=674</guid><dc:creator>陈炬</dc:creator><fs:srclink>http://www.kylogs.com/blog/archives/674.html</fs:srclink><fs:srcfeed>http://www.kylogs.com/blog/wp-feed.php</fs:srcfeed><fs:itemid>feedsky/juchen/~5925245/144211745/1315498</fs:itemid></item><item><title>easyC-API中关于动态数组(Vector)的实现与使用方法简介</title><link>http://www.kylogs.com/blog/archives/667.html</link><content:encoded>&lt;p&gt;动态数组在&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/c&quot;&gt;C&lt;/a&gt;语言中是比较常用的，实现起来也是很简单明了的，这篇文章我简单给出一个&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%8a%a8%e6%80%81%e6%95%b0%e7%bb%84&quot;&gt;动态数组&lt;/a&gt;的实现(easyC-API中的实现与此基本一致，稍稍复杂些)。首先，定义&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%8a%a8%e6%80%81%e6%95%b0%e7%bb%84&quot;&gt;动态数组&lt;/a&gt;如下：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;c c&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333;&quot;&gt;typedef&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; easyc_vector&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; size;
    &lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; base_size;
    &lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; actual_size;
    eType &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;base;
    eType &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;get&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; easyc_vector &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;set&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;eType&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; easyc_vector &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
    eType &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;remove&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; easyc_vector &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;sort&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;compare&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*,&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; easyc_vector &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;s&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;add&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;eType&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; easyc_vector &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;c_vector;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;eType是数据类型，这里我们假设它是整型。&lt;br /&gt;
&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%8a%a8%e6%80%81%e6%95%b0%e7%bb%84&quot;&gt;动态数组&lt;/a&gt;的初始化由函数make_vector负责，具体函数的实现我就不给出了。可以看出这个结构支持动态数组的创建，插入，查找，删除，添加，取长度，及排序等基本操作。这些操作对于数组而言，已经是相当够用了。&lt;/p&gt;
&lt;p&gt;可能有朋友对它的排序如何实现感兴趣，这里排序是通过系统标准库中的qsort实现的。这是一个小技巧。可以看到排序函数的定义如下：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;c c&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;sort&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;compare&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*,&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; easyc_vector &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;s&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;，需要的参数是一个用户实现的比较大小的函数，及一个指向动态数组的指针。我们来看看它是如何把排序的工作委托给qsort的，以下是这个函数的实现：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;c c&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; easyc_vector_sort&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;compare&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;a &lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;b&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;c_vector &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;s&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
	qsort&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;s&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;gt;&lt;/span&gt;base&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;s&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;gt;&lt;/span&gt;size&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;eType&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;compare&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
	&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt;;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;感谢函数指针，使得我们能把功能的委托变的更加容易与自然。&lt;/p&gt;
&lt;p&gt;以下的代码是对这个动态数组简单的使用，可以看到，使用起来还是蛮自然的。 &lt;img src='http://www.kylogs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;c c&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #339933;&quot;&gt;#include&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;#include&amp;quot;easyc_ds.h&amp;quot;&lt;/span&gt;
&lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; cmp&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;a&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;b&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;eType &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;a&lt;span style=&quot;color: #339933;&quot;&gt;-*&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;eType &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;b;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span style=&quot;color: #993333;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
	c_vector s;
	s&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;make_vector&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
	s.&lt;span style=&quot;color: #202020;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&amp;amp;&lt;/span&gt;s&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
	s.&lt;span style=&quot;color: #202020;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&amp;amp;&lt;/span&gt;s&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
	s.&lt;span style=&quot;color: #202020;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&amp;amp;&lt;/span&gt;s&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
	s.&lt;span style=&quot;color: #202020;&quot;&gt;sort&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;cmp&lt;span style=&quot;color: #339933;&quot;&gt;,&amp;amp;&lt;/span&gt;s&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
	&lt;span style=&quot;color: #000066;&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;%d&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;s.&lt;span style=&quot;color: #202020;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color:#800080;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&amp;amp;&lt;/span&gt;s&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
	&lt;span style=&quot;color: #000066;&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;%d&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;s.&lt;span style=&quot;color: #202020;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&amp;amp;&lt;/span&gt;s&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
	&lt;span style=&quot;color: #000066;&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;%d&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;s.&lt;span style=&quot;color: #202020;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&amp;amp;&lt;/span&gt;s&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;
	&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color:#800080;&quot;&gt;0&lt;/span&gt;;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;easyc_ds.h定义了所有数据结构的结构，声明了所有的方法。当然您在编译以上测试代码的时候还需要使用我们的静态库(libeasyc_ds.a)。&lt;/p&gt;
&lt;p&gt;如果您对我们的代码有兴趣，可以去easyC-API的主页上获取最新的源代码，二进制库文件，测试代码及makefile文件。如果您使用的是windows系统，我们编译好的二进制文件会不兼容，请您在自己编译器上重新编译，至于源代码，它是跨平台的。 &lt;img src='http://www.kylogs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;November 17, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/710.html&quot; title=&quot;说说C语言和内存对齐&quot;&gt;说说C语言和内存对齐&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 1, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/648.html&quot; title=&quot;关于C语言的typedef&quot;&gt;关于C语言的typedef&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 31, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/635.html&quot; title=&quot;easyC-API项目介绍&quot;&gt;easyC-API项目介绍&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 22, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/579.html&quot; title=&quot;C函数指针的偏门作用&quot;&gt;C函数指针的偏门作用&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 21, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/570.html&quot; title=&quot;C与C++在函数指针上的区别&quot;&gt;C与C++在函数指针上的区别&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;© 陈炬 for &lt;a href=&quot;http://www.kylogs.com/blog&quot;&gt;Semantic Web Notes&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/667.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/667.html#comments&quot;&gt;Add comment&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.kylogs.com/blog/archives/667.html&amp;title=easyC-API中关于动态数组(Vector)的实现与使用方法简介&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/c&quot; rel=&quot;tag&quot;&gt;C&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e9%a1%b9%e7%9b%ae&quot; rel=&quot;tag&quot;&gt;项目&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/%e5%8a%a8%e6%80%81%e6%95%b0%e7%bb%84&quot; rel=&quot;tag&quot;&gt;动态数组&lt;/a&gt;&lt;br/&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/ff249bf264e677a2d5e860d246005cba&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/ff249bf264e677a2d5e860d246005cba/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=093b0b0b8b3d0059c9e90d3d4ad94c47&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=093b0b0b8b3d0059c9e90d3d4ad94c47&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=aafa247c30ca91106ebeb0f108debc35&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=aafa247c30ca91106ebeb0f108debc35&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=f247f1f757e7d09732cfc9b921dcb22a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=f247f1f757e7d09732cfc9b921dcb22a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=38512c749dd90b4fc6d5274f532980f4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=38512c749dd90b4fc6d5274f532980f4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=e9dda8b6bdca9adde76199a6bf4ba473&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=e9dda8b6bdca9adde76199a6bf4ba473&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.kylogs.com/blog/archives/667.html/feed</wfw:commentRss><description>动态数组在C语言中是比较常用的，实现起来也是很简单明了的，这篇文章我简单给出一个动态数组的实现(easyC-API中的实现与此基本一致，稍稍复杂些)。首先，定义动态数组如下：

typedef struct ...&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/ff249bf264e677a2d5e860d246005cba&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/ff249bf264e677a2d5e860d246005cba/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=093b0b0b8b3d0059c9e90d3d4ad94c47&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=093b0b0b8b3d0059c9e90d3d4ad94c47&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=aafa247c30ca91106ebeb0f108debc35&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=aafa247c30ca91106ebeb0f108debc35&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=f247f1f757e7d09732cfc9b921dcb22a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=f247f1f757e7d09732cfc9b921dcb22a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=38512c749dd90b4fc6d5274f532980f4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=38512c749dd90b4fc6d5274f532980f4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=e9dda8b6bdca9adde76199a6bf4ba473&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=e9dda8b6bdca9adde76199a6bf4ba473&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>项目</category><category>C</category><category>C/C++</category><category>动态数组</category><pubDate>Wed, 03 Sep 2008 18:53:38 +0800</pubDate><author>陈炬</author><comments>http://www.kylogs.com/blog/archives/667.html#comments</comments><guid isPermaLink="false">http://www.kylogs.com/blog/?p=667</guid><dc:creator>陈炬</dc:creator><fs:srclink>http://www.kylogs.com/blog/archives/667.html</fs:srclink><fs:srcfeed>http://www.kylogs.com/blog/wp-feed.php</fs:srcfeed><fs:itemid>feedsky/juchen/~5925245/144211746/1315498</fs:itemid></item><item><title>Google浏览器Chrome即将发布</title><link>http://www.kylogs.com/blog/archives/652.html</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.winsupersite.com/images/blog/google_chrome_preview.jpg&quot;&gt;&lt;img style=&quot;border:none&quot; title=&quot;Google Chrome&quot; src=&quot;http://www.winsupersite.com/images/blog/google_chrome_preview.jpg&quot; alt=&quot;Google Chrome&quot; width=&quot;240&quot; height=&quot;159&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;虽然不是google Fans，不过作为google服务的重度依赖者，对google的产品一直都蛮关注。刚刚在&lt;a href=&quot;http://bbs.tju.edu.cn&quot;&gt;求实&lt;/a&gt;上看到有同学介绍&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/google&quot;&gt;google&lt;/a&gt;开发的浏览器，很Orz。我一直认为&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/google&quot;&gt;google&lt;/a&gt; brower, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/google&quot;&gt;google&lt;/a&gt; OS, google phone都是GFans的自娱自乐，没想到确有其事。&lt;/p&gt;
&lt;p&gt;按照google官方blog中的文章&lt;a href=&quot;http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html&quot;&gt;A fresh take on the browser&lt;/a&gt;，9月2日，Google的浏览器google chrome的beta就要放出，也就是今天阿（注意一点点时差的区别）Gfans上对此也有&lt;a href=&quot;http://gfans.org/archives/410&quot;&gt;介绍&lt;/a&gt;。为了配合这个浏览器的发布，google特意做了一套&lt;a href=&quot;http://books.google.com/books?id=8UsqHohwwVYC&amp;amp;printsec=frontcover#PPP1,M1&quot;&gt;漫画&lt;/a&gt;。我这边网速有问题，一直不能正常显示。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/google-chrome&quot;&gt;google chrome&lt;/a&gt;是开源的，基于什么协议我还没有查到。加油吧，&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/google-chrome&quot;&gt;google chrome&lt;/a&gt;，真希望土鳖IE用的人越来越少，那么将来我们的网银就能支持firefox拉，娃哈哈。&lt;/p&gt;
&lt;p&gt;网页开发者们或许会关心&lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/google-chrome&quot;&gt;google chrome&lt;/a&gt;对web标准的支持如何，我想应该不会比IE6差吧。拭目以待吧。&lt;br /&gt;
&lt;h3&gt;Most Commented Posts&lt;/h3&gt;
&lt;ul class=&quot;related_post&quot;&gt;
&lt;li&gt;August 19, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/564.html&quot; title=&quot;wordpress Plugin：Automatic Tag to Link&quot;&gt;wordpress Plugin：Automatic Tag to Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;July 28, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/425.html&quot; title=&quot;WP-Plugin: Welcome Visitors&quot;&gt;WP-Plugin: Welcome Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/guestbook&quot; title=&quot;留言本&quot;&gt;留言本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 18, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/58.html&quot; title=&quot;蓝蓝的天空和生活&quot;&gt;蓝蓝的天空和生活&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 13, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/507.html&quot; title=&quot;wordpress Plugin：Most Recent Visitors&quot;&gt;wordpress Plugin：Most Recent Visitors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 27, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/617.html&quot; title=&quot;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&quot;&gt;硬盘安装Ubuntu8.04及配置笔记(1)(持续更新)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 3, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/495.html&quot; title=&quot;WordPress插件：欢迎新用户&quot;&gt;WordPress插件：欢迎新用户&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 20, 2008 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/718.html&quot; title=&quot;随便说说&quot;&gt;随便说说&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;August 22, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/61.html&quot; title=&quot;我的5个怪癖和5个有5个怪癖的人&quot;&gt;我的5个怪癖和5个有5个怪癖的人&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;September 24, 2005 &amp;#8212; &lt;a href=&quot;http://www.kylogs.com/blog/archives/79.html&quot; title=&quot;和猪看世界之——上海三校&quot;&gt;和猪看世界之——上海三校&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;© 陈炬 for &lt;a href=&quot;http://www.kylogs.com/blog&quot;&gt;Semantic Web Notes&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/652.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.kylogs.com/blog/archives/652.html#comments&quot;&gt;1 comment&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.kylogs.com/blog/archives/652.html&amp;title=Google浏览器Chrome即将发布&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/google&quot; rel=&quot;tag&quot;&gt;google&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/google-chrome&quot; rel=&quot;tag&quot;&gt;google chrome&lt;/a&gt;, &lt;a href=&quot;http://www.kylogs.com/blog/archives/tag/google%e6%b5%8f%e8%a7%88%e5%99%a8&quot; rel=&quot;tag&quot;&gt;Google浏览器&lt;/a&gt;&lt;br/&gt;
&lt;/p&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/4e7499d1af3ab7e22e3c35c33c2603b4&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/4e7499d1af3ab7e22e3c35c33c2603b4/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=15b4db23c2261a83e50ea8a125bcbb02&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=15b4db23c2261a83e50ea8a125bcbb02&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=7eea69ca90ef2cd479ea22bacae74455&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=7eea69ca90ef2cd479ea22bacae74455&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=e84b99ff14ef84c55b23c5a1bf27a0ee&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=e84b99ff14ef84c55b23c5a1bf27a0ee&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=1a74cd8ede6436809b1d88999612935c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=1a74cd8ede6436809b1d88999612935c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=95bb2e87dc2d5c1702a4c709711f6625&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=95bb2e87dc2d5c1702a4c709711f6625&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</content:encoded><wfw:commentRss>http://www.kylogs.com/blog/archives/652.html/feed</wfw:commentRss><description>虽然不是google Fans，不过作为google服务的重度依赖者，对google的产品一直都蛮关注。刚刚在求实上看到有同学介绍google开发的浏览器，很Orz。我一直认为google brower, google OS, google phone都是GFans的...&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/juchen/4e7499d1af3ab7e22e3c35c33c2603b4&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/juchen/4e7499d1af3ab7e22e3c35c33c2603b4/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=15b4db23c2261a83e50ea8a125bcbb02&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=15b4db23c2261a83e50ea8a125bcbb02&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=7eea69ca90ef2cd479ea22bacae74455&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=7eea69ca90ef2cd479ea22bacae74455&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=e84b99ff14ef84c55b23c5a1bf27a0ee&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=e84b99ff14ef84c55b23c5a1bf27a0ee&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=1a74cd8ede6436809b1d88999612935c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=1a74cd8ede6436809b1d88999612935c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/juchen?a=95bb2e87dc2d5c1702a4c709711f6625&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/juchen?i=95bb2e87dc2d5c1702a4c709711f6625&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>google chrome</category><category>Google浏览器</category><category>Techs</category><category>google</category><pubDate>Tue, 02 Sep 2008 09:39:44 +0800</pubDate><author>陈炬</author><comments>http://www.kylogs.com/blog/archives/652.html#comments</comments><guid isPermaLink="false">http://www.kylogs.com/blog/?p=652</guid><dc:creator>陈炬</dc:creator><fs:srclink>http://www.kylogs.com/blog/archives/652.html</fs:srclink><fs:srcfeed>http://www.kylogs.com/blog/wp-feed.php</fs:srcfeed><fs:itemid>feedsky/juchen/~5925245/144211749/1315498</fs:itemid></item></channel></rss>