<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8790971461899926036</id><updated>2011-11-28T08:50:14.736+08:00</updated><title type='text'>米饭@hit.cs</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-6715427349879249907</id><published>2008-04-04T14:42:00.001+08:00</published><updated>2008-04-04T14:45:21.483+08:00</updated><title type='text'>न्यू होम</title><content type='html'>My new site is here :http://www.leezii.com/&lt;br /&gt;My new blog is here : http://www.leezii.com/blog/&lt;br /&gt;&lt;br /&gt;Welcome~!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-6715427349879249907?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/6715427349879249907/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=6715427349879249907' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/6715427349879249907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/6715427349879249907'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2008/04/blog-post.html' title='न्यू होम'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-2188250656379226521</id><published>2008-03-05T17:36:00.001+08:00</published><updated>2008-03-05T17:36:52.987+08:00</updated><title type='text'>RP守恒定律，恩</title><content type='html'>2008年3月3日，考研成绩出来啦～&lt;br&gt; ,----&lt;br&gt; | 102138030000xxx  xx&lt;br&gt; | 政治理论代码： 101&lt;br&gt; | 政治理论名称： 政治(含法律硕士)&lt;br&gt; | 外国语代码： 201&lt;br&gt; | 外国语名称： 英语(含法律硕士)&lt;br&gt; | 业务课1代码： 301&lt;br&gt; | 业务课1名称： 数学一&lt;br&gt; | 业务课2代码： 824&lt;br&gt; | 业务课2名称： 计算机专业基础&lt;br&gt; | 政治理论成绩： 73&lt;br&gt; | 外国语成绩： 64&lt;br&gt; | 业务课1成绩： 122&lt;br&gt; | 业务课2成绩： 116&lt;br&gt; | 总分： 375&lt;br&gt; `----&lt;br&gt; 成绩远远超出了我的预期，特别是英语，本以为也就40来分，忐忑不安地考虑能不&lt;br&gt; 能过小分～看来人品的确爆发了，但是这次RP耗尽了，绝对的！同一天的六级成&lt;br&gt; 绩，417分，就差10分就过了，虽然我啥也没有准备，直接去裸考，不过，就差一&lt;br&gt; 点点还是特别遗憾。考研太损RP了，今天凌晨的冠军杯，米兰在圣西罗最后时刻挂&lt;br&gt; 掉了，郁闷，可怜的马队啊。。。有人YY马队再踢一年，可能么？希望如此吧。&lt;br&gt; God bless him!God bless us!God bless everyone!&lt;br&gt; Thanks god.I know you are very busy!&lt;br&gt; --&lt;br&gt; email:kevinmiter@gmail.com&lt;br&gt; No gnus is bad news~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-2188250656379226521?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/2188250656379226521/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=2188250656379226521' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/2188250656379226521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/2188250656379226521'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2008/03/rp.html' title='RP守恒定律，恩'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-1160990236447013306</id><published>2008-03-05T06:15:00.000+08:00</published><updated>2008-03-05T17:38:18.201+08:00</updated><title type='text'>RP守恒定律，恩</title><content type='html'>2008年3月3日，考研成绩出来啦～&lt;br&gt;,----&lt;br&gt;| 102138030000xxx  xx&lt;br&gt;| 政治理论代码： 101 &lt;br&gt;| 政治理论名称： 政治(含法律硕士) &lt;br&gt;| 外国语代码： 201 &lt;br&gt;| 外国语名称： 英语(含法律硕士) &lt;br&gt;| 业务课1代码： 301 &lt;br&gt;| 业务课1名称： 数学一 &lt;br&gt;| 业务课2代码： 824 &lt;br&gt;| 业务课2名称： 计算机专业基础 &lt;br&gt;| 政治理论成绩： 73 &lt;br&gt;| 外国语成绩： 64 &lt;br&gt;| 业务课1成绩： 122 &lt;br&gt;| 业务课2成绩： 116 &lt;br&gt;| 总分： 375&lt;br&gt;`----&lt;br&gt;成绩远远超出了我的预期，特别是英语，本以为也就40来分，忐忑不安地考虑能不&lt;br&gt;能过小分～看来人品的确爆发了，但是这次RP耗尽了，绝对的！同一天的六级成&lt;br&gt;绩，417分，就差10分就过了，虽然我啥也没有准备，直接去裸考，不过，就差一&lt;br&gt;点点还是特别遗憾。考研太损RP了，今天凌晨的冠军杯，米兰在圣西罗最后时刻挂&lt;br&gt;掉了，郁闷，可怜的马队啊。。。有人YY马队再踢一年，可能么？希望如此吧。&lt;br&gt;God bless him!God bless us!God bless everyone!&lt;br&gt;Thanks god.I know you are very busy!&lt;br&gt;-- &lt;br&gt;email:kevinmiter@gmail.com&lt;br&gt;No gnus is bad news~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-1160990236447013306?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/1160990236447013306/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=1160990236447013306' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/1160990236447013306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/1160990236447013306'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2008/03/rp_05.html' title='RP守恒定律，恩'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-4706631688304507510</id><published>2008-02-27T18:16:00.000+08:00</published><updated>2008-02-27T18:17:02.817+08:00</updated><title type='text'>这两天累死我了～</title><content type='html'>4个多小时的飞行，我终于回到了寒冷的哈尔滨。&lt;br&gt;       &lt;br&gt;       我没有想到，再冷的天气也不能阻挡我外出的步伐～&lt;br&gt;       &lt;br&gt;       26日早上不到八点我就起床了，拿上硬盘就去俱乐部搞机器。满以为挺简&lt;br&gt;       单的，可是没想到，回去改变的配置太多了，结果现在有些改不回来了&lt;br&gt;       @_@，只能一边回忆一边试。转眼之间，三个小时就过去了。。&lt;br&gt;       &lt;br&gt;       中午休息了一会儿，然后就是开会，老师批评了一顿，然后就把任务布置&lt;br&gt;       下来了，我很奇怪，为什么别的实验室的同学，他们的任务就那么轻松？&lt;br&gt;&lt;br&gt;       开了会，就是去换手机业务。早就想换了，可惜一直没时间。一路走到骨&lt;br&gt;       伤科医院，帅帅的小伙儿居然说半不了，机器出毛病啦，让我第二天再去～我&lt;br&gt;       能被他忽悠吗？我再走，走到和兴路，人那儿就能办！！！我有些想投诉&lt;br&gt;       那小伙儿。。。&lt;br&gt;&lt;br&gt;       今天也没闲着，去医院看病，又过敏了。医生说注意饮食，不要吃辛辣和&lt;br&gt;       海鲜，想着前几天的火锅，汗，难怪过敏这么厉害～&lt;br&gt;       &lt;br&gt;       昨晚听了一首歌，很好听，Bring me to life，我知道我很土～&lt;br&gt;&lt;br&gt;,----&lt;br&gt;| Evanescence - Bring Me To Life&lt;br&gt;| (feat. Paul McCoy)&lt;br&gt;| &lt;br&gt;| How can you see into my eyes&lt;br&gt;| like open doors.&lt;br&gt;| Leading you down into my core&lt;br&gt;| Where I&amp;#39;ve become so numb.&lt;br&gt;| Without a soul&lt;br&gt;| My spirit&amp;#39;s sleeping somewhere cold&lt;br&gt;| until you find it there and lead it back home.&lt;br&gt;| Wake me up.&lt;br&gt;| Wake me up inside.&lt;br&gt;| I can&amp;#39;t wake up.&lt;br&gt;| Wake me up inside.&lt;br&gt;| Save me.&lt;br&gt;| Call my name and save me from the dark.&lt;br&gt;| Wake me up.&lt;br&gt;| Bid my blood to run.&lt;br&gt;| I can&amp;#39;t wake up.&lt;br&gt;| Before I come undone.&lt;br&gt;| Save me.&lt;br&gt;| Save me from the nothing I&amp;#39;ve become.&lt;br&gt;| &lt;br&gt;| Now that I know what I&amp;#39;m without&lt;br&gt;| you can&amp;#39;t just leave me.&lt;br&gt;| Breathe into me and make me real&lt;br&gt;| Bring me to life.&lt;br&gt;| &lt;br&gt;| Wake me up.&lt;br&gt;| Wake me up inside.&lt;br&gt;| I can&amp;#39;t wake up.&lt;br&gt;| Wake me up inside.&lt;br&gt;| Save me.&lt;br&gt;| Call my name and save me from the dark.&lt;br&gt;| Wake me up.&lt;br&gt;| Bid my blood to run.&lt;br&gt;| I can&amp;#39;t wake up.&lt;br&gt;| Before I come undone.&lt;br&gt;| Save me.&lt;br&gt;| Save me from the nothing I&amp;#39;ve become.&lt;br&gt;| Bring me to life.&lt;br&gt;| I&amp;#39;ve been living a lie&lt;br&gt;| There&amp;#39;s nothing inside.&lt;br&gt;| Bring me to life.&lt;br&gt;| &lt;br&gt;| Frozen inside without your touch,&lt;br&gt;| without your love, darling.&lt;br&gt;| Only you are the life among the dead.&lt;br&gt;| All of this sight&lt;br&gt;| I can&amp;#39;t believe I couldn&amp;#39;t see&lt;br&gt;| Kept in the dark&lt;br&gt;| but you were there in front of me&lt;br&gt;| I&amp;#39;ve been sleeping a 1000 years it seems.&lt;br&gt;| I&amp;#39;ve got to open my eyes to everything.&lt;br&gt;| Without a thought&lt;br&gt;| Without a voice&lt;br&gt;| Without a soul&lt;br&gt;| Don&amp;#39;t let me die here&lt;br&gt;| There must be something wrong.&lt;br&gt;| Bring me to life.&lt;br&gt;| Wake me up.&lt;br&gt;| Wake me up inside.&lt;br&gt;| I can&amp;#39;t wake up.&lt;br&gt;| Wake me up inside.&lt;br&gt;| Save me.&lt;br&gt;| Call my name and save me from the dark.&lt;br&gt;| Wake me up.&lt;br&gt;| Bid my blood to run.&lt;br&gt;| I can&amp;#39;t wake up.&lt;br&gt;| Before I come undone.&lt;br&gt;| Save me.&lt;br&gt;| Save me from the nothing I&amp;#39;ve become.&lt;br&gt;| Bring me to life.&lt;br&gt;| I&amp;#39;ve been living a lie&lt;br&gt;| There&amp;#39;s nothing inside.&lt;br&gt;| Bring me to life&lt;br&gt;| &lt;br&gt;| &lt;br&gt;| END&lt;br&gt;`----&lt;br&gt; &lt;br&gt;&lt;br&gt;-- &lt;br&gt;email:kevinmiter@gmail.com&lt;br&gt;No gnus is bad news~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-4706631688304507510?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/4706631688304507510/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=4706631688304507510' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/4706631688304507510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/4706631688304507510'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2008/02/blog-post.html' title='这两天累死我了～'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-7425108850638937297</id><published>2008-01-22T13:58:00.001+08:00</published><updated>2008-01-22T13:58:16.344+08:00</updated><title type='text'>Just a test!</title><content type='html'>The fucking game is over~&lt;br&gt;I have enough time to play with emacs...&lt;br&gt;-- &lt;br&gt;email:kevinmiter@gmail.com&lt;br&gt;No gnus is bad news~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-7425108850638937297?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/7425108850638937297/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=7425108850638937297' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/7425108850638937297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/7425108850638937297'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2008/01/just-test.html' title='Just a test!'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-1967980322159517496</id><published>2007-05-22T20:34:00.000+08:00</published><updated>2007-05-22T20:37:08.107+08:00</updated><title type='text'>Nothing Finished</title><content type='html'>太多的事情要做，却没有一件能够完成，至少没有一件能够稍微完美一些，如果完美也可以比较的话。&lt;br /&gt;如此长的时间，我一直沉侵在一种沮丧的感觉中，无力感包围着我，眼看时间就那么轻易的从我的身边溜走，我像在做梦。意识清醒，清楚地知道身边的每一件事，你却无力去做些什么，哪怕一点改变？仿佛我已经是生活的观众，也许更像是服下了慢性毒药，一点点地却又不可阻挡的滑向深渊。&lt;br /&gt;,----&lt;br /&gt;| #include &lt;stdio.h&gt;&lt;br /&gt;| int STRLEN(char* p);&lt;br /&gt;| int main()&lt;br /&gt;| {&lt;br /&gt;|   char *str="Hello";&lt;br /&gt;|   int len=STRLEN(str);&lt;br /&gt;|   printf("%d\n",len);&lt;br /&gt;|   return 0;&lt;br /&gt;| }&lt;br /&gt;| int STRLEN(char *a)&lt;br /&gt;| {&lt;br /&gt;|   return (*a)?STRLEN(a+1)+1:0;&lt;br /&gt;| }&lt;br /&gt;`----&lt;br /&gt;这样的trick有什么意义？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-1967980322159517496?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/1967980322159517496/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=1967980322159517496' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/1967980322159517496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/1967980322159517496'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/05/finished.html' title='Nothing Finished'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-4233627205398626788</id><published>2007-05-07T19:16:00.000+08:00</published><updated>2007-05-07T19:35:05.795+08:00</updated><title type='text'>SF中collect和format主要cpu耗费</title><content type='html'>我使用oprofile分别生成了bin/collect.exe和bin/format.exe的opreport&lt;br /&gt;对于 collect.exe的日志分析，我发现主要在于&lt;br /&gt;12105 17.7277 collect.exe SFC::SFCommunicationSocket::GetLine(std::string&amp;)&lt;br /&gt;11837 17.3352&lt;br /&gt;collect.exe SFC::SFCommunicationSocket::Recv(void*, int) 这两个方法上， 总共占用了35％的cpu时间，也是耗费最多的两个方法。我想这是值得我们关注的东西，应该这是程序自己封装的，也许更有改变的可能。。。&lt;br /&gt;继续看collect.exe 的日志文件&lt;br /&gt;9908 14.5102 anon (tgid:9213 range:0xb7fbc000-0xb7fbd000) (no symbols)&lt;br /&gt;9605 14.0665 anon (tgid:8943 range:0xb7f79000-0xb7f7a000) (no symbols)&lt;br /&gt;5506 8.0635 collect.exe HandleUnixAndWindowsStyleList(char const*, struct_file_info&amp;amp;)&lt;br /&gt;3167 4.6381 collect.exe&lt;br /&gt;GetDir(struct_site_info&amp;, std::string const&amp;amp;, SiteFile&amp;, SFC::SFFTPClient*, unsigned short, bool)&lt;br /&gt;这是耗费排在3-6位的四个函数，可以看到前六个函数的耗费在总耗费的3/4左右，所以我们也应该把主要精力放在这些函数上。其中两个anon我不是太清楚怎么回事，从网上的一些资料看到，好像表 示的是一块连续内存的操作，我猜测是mmap，xyb提到过他使用了mmap,我猜也许是 这里，我没有看源码，纯粹的猜测。。&lt;br /&gt;再看format.exe的日志文件 &lt;br /&gt;18229 10.0997 format.exe MergeIndex(File&amp;amp;amp;, File&amp;, std::vector&amp;lt;unsigned int, std::allocator&amp;lt;unsigned int&amp;gt; &amp;gt;&amp;, int)&lt;br /&gt;这就是format.exe中cpu时间最长的函 数，format.exe有一个特点，就是cpu占用在0.01和0.1之间的函数特别多，不像 collect.exe那样有两个显著的寡头，这样有个不好的地方就是重点比较分散。我结合了valgrind的callgrind产生的日志看了一下，大概是IndexDB和FileDB两个类中的CreateIndex Update比较耗费时间，应该引起注意上边是我对日志文件的一些 分析，基本没有接触源代码，现在我想说我看到的一个和源码有关的问题 ,&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt; 1 &lt;/b&gt;&lt;/font&gt;&lt;font color="#8080ff"&gt;&lt;b&gt;#include &lt;/b&gt;&lt;/font&gt;&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;lt;stdio.h&amp;gt;&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt; 2 &lt;/b&gt;&lt;/font&gt;&lt;font color="#8080ff"&gt;&lt;b&gt;#include &lt;/b&gt;&lt;/font&gt;&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;lt;ctype.h&amp;gt;&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt; 3 &lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt; 4 &lt;/b&gt;&lt;/font&gt;&lt;font color="#00ff00"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/font&gt; alpha1(&lt;font color="#00ff00"&gt;&lt;b&gt;char&lt;/b&gt;&lt;/font&gt; c);&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt; 5 &lt;/b&gt;&lt;/font&gt;&lt;font color="#00ff00"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/font&gt; alpha2(&lt;font color="#00ff00"&gt;&lt;b&gt;char&lt;/b&gt;&lt;/font&gt; c);&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt; 6 &lt;/b&gt;&lt;/font&gt;&lt;font color="#00ff00"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/font&gt; main()&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt; 7 &lt;/b&gt;&lt;/font&gt;{&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt; 8 &lt;/b&gt;&lt;/font&gt;    &lt;font color="#00ff00"&gt;&lt;b&gt;char&lt;/b&gt;&lt;/font&gt; c=&lt;font color="#ff40ff"&gt;&lt;b&gt;'M'&lt;/b&gt;&lt;/font&gt;;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt; 9 &lt;/b&gt;&lt;/font&gt;    &lt;font color="#00ff00"&gt;&lt;b&gt;long&lt;/b&gt;&lt;/font&gt; &lt;font color="#00ff00"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/font&gt; i;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;10 &lt;/b&gt;&lt;/font&gt;    &lt;font color="#ffff00"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/font&gt;(i=&lt;font color="#ff40ff"&gt;&lt;b&gt;0&lt;/b&gt;&lt;/font&gt;;i&amp;lt;&lt;font color="#ff40ff"&gt;&lt;b&gt;6553500&lt;/b&gt;&lt;/font&gt;;i++)&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;11 &lt;/b&gt;&lt;/font&gt;    {&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;12 &lt;/b&gt;&lt;/font&gt;        alpha1(c);&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;13 &lt;/b&gt;&lt;/font&gt;        alpha2(c);&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;14 &lt;/b&gt;&lt;/font&gt;    }&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;15 &lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;16 &lt;/b&gt;&lt;/font&gt;    &lt;font color="#ffff00"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#ff40ff"&gt;&lt;b&gt;0&lt;/b&gt;&lt;/font&gt;;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;17 &lt;/b&gt;&lt;/font&gt;}&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;18 &lt;/b&gt;&lt;/font&gt;&lt;font color="#00ff00"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/font&gt; alpha1(&lt;font color="#00ff00"&gt;&lt;b&gt;char&lt;/b&gt;&lt;/font&gt; c)&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;19 &lt;/b&gt;&lt;/font&gt;{&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;20 &lt;/b&gt;&lt;/font&gt;    &lt;font color="#ffff00"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt;(c &amp;gt;= &lt;font color="#ff40ff"&gt;&lt;b&gt;'A'&lt;/b&gt;&lt;/font&gt; &amp;amp;&amp;amp; c &amp;lt;=&lt;font color="#ff40ff"&gt;&lt;b&gt;'Z'&lt;/b&gt;&lt;/font&gt;)&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;21 &lt;/b&gt;&lt;/font&gt;        printf(&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;quot;OK&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff6060"&gt;&lt;b&gt;\n&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;quot;&lt;/b&gt;&lt;/font&gt;);&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;22 &lt;/b&gt;&lt;/font&gt;    &lt;font color="#ffff00"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#ff40ff"&gt;&lt;b&gt;0&lt;/b&gt;&lt;/font&gt;;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;23 &lt;/b&gt;&lt;/font&gt;}&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;24 &lt;/b&gt;&lt;/font&gt;&lt;font color="#00ff00"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/font&gt; alpha2(&lt;font color="#00ff00"&gt;&lt;b&gt;char&lt;/b&gt;&lt;/font&gt; c)&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;25 &lt;/b&gt;&lt;/font&gt;{&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;26 &lt;/b&gt;&lt;/font&gt;    &lt;font color="#ffff00"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt;(isupper(c))&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;27 &lt;/b&gt;&lt;/font&gt;        printf(&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;quot;OK&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff6060"&gt;&lt;b&gt;\n&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;quot;&lt;/b&gt;&lt;/font&gt;);&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;28 &lt;/b&gt;&lt;/font&gt;    &lt;font color="#ffff00"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#ff40ff"&gt;&lt;b&gt;0&lt;/b&gt;&lt;/font&gt;;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;29 &lt;/b&gt;&lt;/font&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;在sf的代码中，采用了alpha1的方法，而更有可移植性的方法显然是alpha2,不过在效率优先的原则下，我们还是有必要考虑效率。在实际测试之前，我原来以为是alpha2更快，迷信库函数。。。&lt;br /&gt;我首先看了两者的汇编代码，看不出明显的结论:alpha2汇编指令少，但是多一次函数调用。我只好测试，实际运行，测试结果：在分别调用6553500次的情况下，alpha1耗费时间19.7,alpha2耗费时间45.3，两倍的差距。。。我想说两点：1，不要迷信库函数；2，在同一种算法甚至写法有多种实现的时候，如何抉择？不要想当然,测试才是最可靠的。&lt;br /&gt;-- email:kevinmiter@gmail.com&lt;span&gt;&lt;/span&gt;&lt;br /&gt; No gnus is bad news~&lt;br /&gt;_______________________________________________&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-4233627205398626788?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/4233627205398626788/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=4233627205398626788' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/4233627205398626788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/4233627205398626788'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/05/sfcollectformatcpu.html' title='SF中collect和format主要cpu耗费'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-2479549601083744520</id><published>2007-04-28T20:04:00.000+08:00</published><updated>2007-04-28T20:06:33.610+08:00</updated><title type='text'>Emacs配置文件</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;For my language code setting (UTF-8)&lt;br /&gt;&lt;/span&gt;(setq current-language-environment &lt;span class="string"&gt;"UTF-8"&lt;/span&gt;)&lt;br /&gt;(setq default-input-method &lt;span class="string"&gt;"chinese-py"&lt;/span&gt;)&lt;br /&gt;(setq locale-coding-system 'utf-8)&lt;br /&gt;(set-terminal-coding-system 'utf-8)&lt;br /&gt;(set-keyboard-coding-system 'utf-8)&lt;br /&gt;(set-selection-coding-system 'utf-8)&lt;br /&gt;(prefer-coding-system 'utf-8)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(set-language-environment 'Chinese-GB)&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;(set-keyboard-coding-system 'utf-8)&lt;br /&gt;&lt;/span&gt; (set-clipboard-coding-system 'utf-8)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;(set-terminal-coding-system 'utf-8)&lt;br /&gt;&lt;/span&gt; (set-buffer-file-coding-system 'utf-8)&lt;br /&gt; (set-default-coding-systems 'utf-8)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;(set-selection-coding-system 'utf-8)&lt;br /&gt;&lt;/span&gt; (modify-coding-system-alist 'process &lt;span class="string"&gt;"*"&lt;/span&gt; 'utf-8)&lt;br /&gt; (setq default-process-coding-system '(utf-8 . utf-8))&lt;br /&gt; (setq-default pathname-coding-system 'utf-8)&lt;br /&gt; (set-file-name-coding-system 'utf-8)&lt;br /&gt; (setq ansi-color-for-comint-mode t) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;get around the Ctrl+SPACE key binding for inputing method&lt;br /&gt;&lt;/span&gt;(global-set-key &lt;span class="string"&gt;"\C-cm"&lt;/span&gt; 'set-mark-command)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(global-set-key [(meta left)] 'backward-sexp)&lt;br /&gt;(global-set-key [(meta right)] 'forward-sexp)&lt;br /&gt;(global-set-key [(meta g)] 'goto-line)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;highlight marked region&lt;br /&gt;&lt;/span&gt;(transient-mark-mode t)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;enable syntax highlight&lt;br /&gt;&lt;/span&gt;(global-font-lock-mode t)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;show column number on status bar&lt;br /&gt;&lt;/span&gt;(setq column-number-mode t)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;close toolbar&lt;br /&gt;&lt;/span&gt;(tool-bar-mode)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;enable mouse wheel support&lt;br /&gt;&lt;/span&gt;(mouse-wheel-mode)&lt;br /&gt;(put 'upcase-region 'disabled nil)&lt;br /&gt;(custom-set-variables&lt;br /&gt;  &lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;custom-set-variables was added by Custom.&lt;br /&gt;&lt;/span&gt;  &lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;If you edit it by hand, you could mess it up, so be careful.&lt;br /&gt;&lt;/span&gt;  &lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;Your init file should contain only one such instance.&lt;br /&gt;&lt;/span&gt;  &lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;If there is more than one, they won't work right.&lt;br /&gt;&lt;/span&gt; '(column-number-mode t)&lt;br /&gt; '(current-language-environment &lt;span class="string"&gt;"Chinese-GB"&lt;/span&gt;)&lt;br /&gt; '(ecb-options-version &lt;span class="string"&gt;"2.32"&lt;/span&gt;)&lt;br /&gt; '(show-paren-mode t)&lt;br /&gt; '(tab-width 4)&lt;br /&gt; '(transient-mark-mode t))&lt;br /&gt;(custom-set-faces&lt;br /&gt;  &lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;custom-set-faces was added by Custom.&lt;br /&gt;&lt;/span&gt;  &lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;If you edit it by hand, you could mess it up, so be careful.&lt;br /&gt;&lt;/span&gt;  &lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;Your init file should contain only one such instance.&lt;br /&gt;&lt;/span&gt;  &lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;If there is more than one, they won't work right.&lt;br /&gt;&lt;/span&gt; )&lt;br /&gt;&lt;br /&gt;(setq default-major-mode 'text-mode)&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(fset 'yes-or-no-p 'y-or-n-p)&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(scroll-bar-mode nil)&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(mouse-avoidance-mode 'animate)&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(setq x-select-enable-clipboard t)&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(setq make-backup-files nil)&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(load-file &lt;span class="string"&gt;"/home/lizhi/myEmacs/color-theme.el"&lt;/span&gt;)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(color-theme-dark-blue)&lt;br /&gt;&lt;/span&gt;(color-theme-pok-wob)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(color-theme-blue-sea)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;(setq inhibit-splash-screen t)&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;(setq default-process-coding-system '(utf-8-unix . utf-8-unix))&lt;span class="comment-delimiter"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;install speedbar&lt;br /&gt;&lt;/span&gt;(add-to-list 'load-path &lt;span class="string"&gt;"~/myEmacs/cedet-1.0pre3/speedbar/"&lt;/span&gt;)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(autoload 'speedbar-frame-mode "speedbar" "Popup a speedbar frame" t)&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(autoload 'speedbar-get-focus "speedbar" "Jump to speedbar frame" t)&lt;br /&gt;&lt;/span&gt;(define-key-after (lookup-key global-map [menu-bar tools])&lt;br /&gt;  [speedbar] '(&lt;span class="string"&gt;"Speedbar"&lt;/span&gt; . speedbar-frame-mode) [calendar])&lt;br /&gt;(global-set-key [(f4)] 'speedbar-get-focus)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;Texinfo fancy chapter tags&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;    &lt;/span&gt;&lt;span class="comment"&gt;(add-hook 'texinfo-mode-hook (lambda () (require 'sb-texinfo)))&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;HTML fancy chapter tags&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;    &lt;/span&gt;&lt;span class="comment"&gt;(add-hook 'html-mode-hook (lambda () (require 'sb-html))) &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;install eieio&lt;br /&gt;&lt;/span&gt;(add-to-list 'load-path &lt;span class="string"&gt;"~/myEmacs/cedet-1.0pre3/eieio/"&lt;/span&gt;)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;install ede&lt;br /&gt;&lt;/span&gt;(add-to-list 'load-path &lt;span class="string"&gt;"~/myEmacs/cedet-1.0pre3/ede/"&lt;/span&gt;)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;install cogre&lt;br /&gt;&lt;/span&gt;(add-to-list 'load-path &lt;span class="string"&gt;"~/myEmacs/cedet-1.0pre3/cogre/"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;install semantic&lt;br /&gt;&lt;/span&gt;(add-to-list 'load-path &lt;span class="string"&gt;"~/myEmacs/cedet-1.0pre3/semantic/"&lt;/span&gt;)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(require 'semantic-load)&lt;br /&gt;&lt;/span&gt;(setq semantic-load-turn-everything-on t) &lt;br /&gt;(setq semantic-idle-scheduler-idle-time 432000)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(setq semantic-load-turn-useful-things-on t)&lt;br /&gt;&lt;/span&gt;(load-file &lt;span class="string"&gt;"~/myEmacs/cedet-1.0pre3/common/cedet.el"&lt;/span&gt;)&lt;br /&gt;(setq semanticdb-project-roots&lt;br /&gt;      (list &lt;span class="string"&gt;"~/Desktop/compiler/"&lt;/span&gt;))&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;install cedet&lt;br /&gt;&lt;/span&gt;(load-file &lt;span class="string"&gt;"~/myEmacs/cedet-1.0pre3/common/cedet.el"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;install ecb&lt;br /&gt;&lt;/span&gt;(add-to-list 'load-path &lt;span class="string"&gt;"~/myEmacs/ecb-2.32/"&lt;/span&gt;)&lt;br /&gt; (&lt;span class="keyword"&gt;require&lt;/span&gt; '&lt;span class="constant"&gt;ecb&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;emacs server&lt;br /&gt;&lt;/span&gt;(server-start)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;image view&lt;br /&gt;&lt;/span&gt;(&lt;span class="keyword"&gt;require&lt;/span&gt; '&lt;span class="constant"&gt;thumbs&lt;/span&gt;)&lt;br /&gt;(auto-image-file-mode t)&lt;br /&gt;&lt;br /&gt;(show-paren-mode t)&lt;br /&gt;&lt;br /&gt;(global-set-key [f5] 'gnus)         &lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;&amp;#21551;&amp;#21160;&amp;#26032;&amp;#38395;&amp;#32452;&amp;#23458;&amp;#25143;&amp;#31471; gnus&lt;br /&gt;&lt;/span&gt;(global-set-key [f6] 'eshell)           &lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;&amp;#19968;&amp;#20010; elisp &amp;#20889;&amp;#30340; shell&lt;br /&gt;&lt;/span&gt;(global-set-key [f11] 'compile)         &lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;&amp;#22312; Emacs &amp;#20013;&amp;#32534;&amp;#35793;&lt;br /&gt;&lt;/span&gt;(global-set-key [f12] 'gdb)             &lt;span class="comment-delimiter"&gt;; &lt;/span&gt;&lt;span class="comment"&gt;&amp;#22312; Emacs &amp;#20013;&amp;#35843;&amp;#35797;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;(global-set-key &lt;span class="string"&gt;"\C-xk"&lt;/span&gt; 'kill-this-buffer)&lt;br /&gt;(global-set-key &lt;span class="string"&gt;"\M-/"&lt;/span&gt; 'hippie-expand)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;mini buffer&lt;br /&gt;&lt;/span&gt;(setq rezize-mini-windows nil)  &lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;cc-mode&lt;br /&gt;&lt;/span&gt;(add-hook 'c-mode-hook&lt;br /&gt;'(&lt;span class="keyword"&gt;lambda&lt;/span&gt;()&lt;br /&gt;   (c-set-style &lt;span class="string"&gt;"linux"&lt;/span&gt;)&lt;br /&gt;   (c-toggle-auto-state)))&lt;br /&gt;(setq comment-multi-line t)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(define-key c-mode-base-map "\M-/" 'semantic-ia-complete-symbol&amp;#65293;menu)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;emacs-w3m&lt;br /&gt;&lt;/span&gt;(&lt;span class="keyword"&gt;require&lt;/span&gt; '&lt;span class="constant"&gt;w3m-load&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;dired&lt;br /&gt;&lt;/span&gt;(setq dired-recursive-copies t)&lt;br /&gt;(setq dired-recursive-deletes t)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(add-hook 'dired-mode-hook 'turn-on-gnus-dired-mode)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;display-time&lt;br /&gt;&lt;/span&gt;(setq display-time-24hr-format t)&lt;br /&gt;(setq display-time-day-and-date t)&lt;br /&gt;(setq dispaly-time-use-mail-icon t)&lt;br /&gt;(setq display-time-interval 10)&lt;br /&gt;(display-time-mode 1)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;calendar&lt;br /&gt;&lt;/span&gt;(setq calendar-latitude +45.75)&lt;br /&gt;(setq calendar-longitude +126.63)&lt;br /&gt;(setq calendar-location-name &lt;span class="string"&gt;"Harbin"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;; &lt;/span&gt;&lt;span class="comment"&gt;hippie-expand&lt;br /&gt;&lt;/span&gt;(setq hippie-expand-try-functions-list&lt;br /&gt;      '(try-expand-line&lt;br /&gt;        try-expand-line-all-buffers&lt;br /&gt;        try-expand-list&lt;br /&gt;        try-expand-list-all-buffers&lt;br /&gt;        try-expand-dabbrev&lt;br /&gt;        try-expand-dabbrev-visible&lt;br /&gt;        try-expand-dabbrev-all-buffers&lt;br /&gt;        try-expand-dabbrev-from-kill&lt;br /&gt;        try-complete-file-name &lt;br /&gt;        try-complete-file-name-partially&lt;br /&gt;        try-complete-lisp-symbol&lt;br /&gt;        try-complete-lisp-symbol-partially&lt;br /&gt;        try-expand-whole-kill))&lt;br /&gt;&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(require 'uniquify)&lt;br /&gt;&lt;/span&gt;(&lt;span class="keyword"&gt;require&lt;/span&gt; '&lt;span class="constant"&gt;flyspell&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(add-to-list 'load-path &lt;span class="string"&gt;"/home/lizhi/myEmacs/lisp/"&lt;/span&gt;)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;boxquote&lt;br /&gt;&lt;/span&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;(require 'boxquote)&lt;br /&gt;&lt;/span&gt;(load-file &lt;span class="string"&gt;"/home/lizhi/myEmacs/boxquote.elc"&lt;/span&gt;)&lt;br /&gt;&lt;span class="comment-delimiter"&gt;;;&lt;/span&gt;&lt;span class="comment"&gt;svn&lt;br /&gt;&lt;/span&gt;(&lt;span class="keyword"&gt;require&lt;/span&gt; '&lt;span class="constant"&gt;psvn&lt;/span&gt;)&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-2479549601083744520?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/2479549601083744520/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=2479549601083744520' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/2479549601083744520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/2479549601083744520'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/04/emacs.html' title='Emacs配置文件'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-1452319966680678923</id><published>2007-04-15T19:12:00.000+08:00</published><updated>2007-04-15T19:14:07.143+08:00</updated><title type='text'>Blogger七大行为准则</title><content type='html'>&lt;p&gt;Blog并非永久的净土，最近Blog上的过激言论也越来越频繁，甚至有人遭受到了死亡威胁，于是Web2.0先驱蒂姆&amp;middot;奥莱利(&lt;a href="http://radar.oreilly.com/tim"&gt;Tim O&amp;#8217;Reilly&lt;/a&gt;)和维基百科创始人吉米&amp;middot;威尔斯(Jimmy Wales)联手起草了&amp;ldquo;&lt;a href="http://blogging.wikia.com/wiki/Blogger%27s_Code_of_Conduct"&gt;Blog行为准则&lt;/a&gt;&amp;rdquo;，台湾的&lt;a href="http://www.bigsound.org/portnoy/"&gt;龜趣來嘻&lt;/a&gt;已经做了&lt;a href="http://www.bigsound.org/portnoy/weblog/003116.html"&gt;翻译&lt;/a&gt;，我就不再重复劳动了，转过来给大家看看(将部落客替换为Blog)：&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;BLOGGER行为守则&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;我们褒扬Blog圈，因为Blog圈有着直率与公开的对话，但是直率不代表不文明。我们提出这份部落客行为守则，就是希望这份守则能协助创造一个鼓励个人思想传达以及具建设性对话的文化。你可以不同意某个人的看法，但不需要闹得不愉快。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;1. 我们为我们说过的话(打过的字)负责，同时保留权利来限制我们Blog上那些不遵守基本文明标准的回响内容。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;我们遵循&amp;lsquo;励行文明&amp;rsquo;标准：我们竭力于发表高品质、可为人接受的内容，而且我们会删除那些无法为人接受的回响。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;我们以下面这些来判断何谓无法为人接受的回响：&lt;/p&gt;&lt;br /&gt;&lt;p&gt;回响被用来咒骂、骚扰、跟踪、或威胁其他人&lt;br /&gt;毁谤、明知有误、诉诸情感、错误呈现他人&lt;br /&gt;侵犯作者权或商标&lt;br /&gt;违反保密义务或责任&lt;br /&gt;侵害他人隐私&lt;/p&gt;&lt;br /&gt;&lt;p&gt;我们以个别案例来判断何者为&amp;lsquo;无法为人接受的内容&amp;rsquo;，我们的定义不受限于此列表。如果我们删除某则回响或炼结，我们会说清楚、解释明白。[我们保留权利在任何时候更动这些标准而不需要提醒]&lt;/p&gt;&lt;br /&gt;&lt;p&gt;2. 我们不会在网路上说那些我们无法面对面说出口的东西。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;3. 如果情势渐趋紧张，我们会在公开回应之前先私下联络。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;如果我们在Blog上遇到冲突与错误呈现，在我们发布任何相关文章跟回响之前，我们会尽一切力量在私底下直接与相关人士沟通&amp;#8211;或是找一位中间人来帮忙。对于尚未解决的争议，Blogger应该进行线上调停。Mediate.com将会提供调停人。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;4. 当我们相信有人正不公平地攻击他人，我们会采取行动。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;如果有人发表了攻击性的回响或Blog文章，我们会告诉他(尽量在私底下)，然后请他公开修正他的言论。如果那些已经发表的回响可被视为威胁，犯者也不愿意撤回回响或是道歉，我们将会与诉诸法律来保护当事者不受威胁。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;5. 我们不容许匿名回响。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;我们要求回响者在回响之前必须提供有效的电子邮件，不过我们容许回响者不用真名，而以化名来回响。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;6. 我们不理会戳乐。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;我们不回应关于我们或我们Blog的那些污秽且令人不愉快的回响，只要内容不流于咒骂或毁谤。我们相信喂食这些戳乐只会助长他们的气焰&amp;#8211;&amp;lsquo;别跟猪打架。你们都会弄得满身脏污，但猪就是喜欢脏污&amp;rsquo;。别管那些公开的攻击通常是制止他们的最好方法。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;7. 我们鼓励Blog服务提供商确切落实他们的服务声明。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;当Blogger做了这种过份滥行，像是创建假的个人Blog来骚扰其他Blogger，Blog服务提供者应该为他们用户的举措负起责任。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-1452319966680678923?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/1452319966680678923/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=1452319966680678923' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/1452319966680678923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/1452319966680678923'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/04/blogger.html' title='Blogger七大行为准则'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-7759150552919452492</id><published>2007-04-13T21:52:00.000+08:00</published><updated>2007-04-13T21:59:38.894+08:00</updated><title type='text'>无奈</title><content type='html'>找不到答案并不悲哀，悲哀的是答案在你眼前，你却是视而不见。。。&lt;br /&gt;     一直在折腾gnus+leafnode的news reader，在网上找了很多资料，主要参考了"gnus伴侣之leafnode篇"一文，参照着作下来，没有遇到什么大问题，本来也比较简单。。。&lt;br /&gt;     直到最后一步，设置gnus之后，发现怎么也连不上nttp://localhost。我找不到问题所在，出www.newsmth.net问，没有理， 555555。我只好自己来，上网一顿google，还是没有线索。&lt;br /&gt;     我没有办法，只好重新做一遍，希望奇迹发生。奇迹没有出现，问题让我发现了，呵呵。leafnode don't support rlinetd's version of updating inet。虽然这是一个warning，但是这是唯一的线索了，我别无选择，再次来到google，找到leafnode的FAQ，找到了相关的问题。&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Leafnode itself expects incoming connections on stdin and responds on stdout. Therefore, you cannot run it as a standalone server but have to use other programs which do the work for you. The most common one is inetd; some alternatives are xinetd and tcpserver. One of these programs must be running; check for inetd with&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;   ps axu | grep inetd&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;If your distributions uses a different program, change the grep expression accordingly. Any of these programs should be running once.&lt;/span&gt;&lt;br /&gt;OK，原来这样，rlinetd不能转发leafnode的包，我换xinetd！！！&lt;br /&gt;小心地换了xinetd，根据提示，配置/etc/xinetd.conf&lt;p&gt;&lt;/p&gt;&lt;p&gt;# Simple configuration file for xinetd&lt;br /&gt;#&lt;br /&gt;# Some defaults, and include /etc/xinetd.d/&lt;/p&gt;&lt;p&gt;defaults&lt;br /&gt;{&lt;/p&gt;&lt;p&gt;# Please note that you need a log_type line to be able to use log_on_success&lt;br /&gt;# and log_on_failure. The default is the following :&lt;br /&gt;# log_type = SYSLOG daemon info&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;service nntp&lt;br /&gt;{&lt;br /&gt;  socket_type = stream&lt;br /&gt;  protocol    = tcp&lt;br /&gt;  wait        = no&lt;br /&gt;  user        = news&lt;br /&gt;  server        = /usr/bin/leafnode&lt;br /&gt;}&lt;br /&gt;includedir /etc/xinetd.d&lt;/p&gt;&lt;p&gt;重启服务，一切OK，万岁！！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-7759150552919452492?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/7759150552919452492/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=7759150552919452492' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/7759150552919452492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/7759150552919452492'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/04/blog-post_13.html' title='无奈'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-7977067188881924755</id><published>2007-04-07T22:11:00.001+08:00</published><updated>2007-04-07T22:11:24.946+08:00</updated><title type='text'>逃课</title><content type='html'>我是一个考研人，一千遍地提醒自己。。。&lt;br&gt;       这是我在HIT的第三年，大三下学期。这是一个不平常的学期，因为我要考 &lt;br&gt;研。虽然仅仅是要，而不是&amp;quot;是&amp;quot;；但是谁能否认这是一个完美的理由，一个逃课的 &lt;br&gt;完美的理由。&lt;br&gt;       这一学期，我逃了一节有一节的课，甚至于我上过的课还没有逃的课多。 &lt;br&gt;我一点儿也不是在炫耀，我甚至有些悲哀：我都这样了，为什么我还要考研呢？&lt;br&gt;       今天是星期六，我有逃了半天的课，回来折腾mail，好在终于完成了，些 &lt;br&gt;许安慰。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-7977067188881924755?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/7977067188881924755/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=7977067188881924755' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/7977067188881924755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/7977067188881924755'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/04/blog-post.html' title='逃课'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-3861951880972839424</id><published>2007-04-03T21:34:00.000+08:00</published><updated>2007-04-03T21:50:12.740+08:00</updated><title type='text'>Bufbomb可爱的缓冲区溢出</title><content type='html'>我现在在HITCS读大三，两年多了，写了很多小程序，真正的小程序。在两年 多的时间里，我经常遇到每一个前辈都犯过的错误－－缓冲区溢出。每一次溢出都 是不同的，调试也是苦难的，数不清的BUG潜伏在我的程序里，我无能为力。。。&lt;br /&gt;  可是今天，缓冲区溢出成了我的任务@_@。&lt;a href="http://csapp.cs.cmu.edu/"&gt;CS：APP &lt;/a&gt;Chapter3习题3.38，给了我一个机会，第一次去 尝试有意的缓冲区溢出，全新的挑战啊！   &lt;p&gt;getbuf的代码摘要如下：&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(51, 51, 255);"&gt;int getbuf()&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(51, 51, 255);"&gt;{&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(51, 51, 255);"&gt;    char buf[12];&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(51, 51, 255);"&gt;    getxs(buf);&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(51, 51, 255);"&gt;    return 1;&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(51, 51, 255);"&gt;    }&lt;/p&gt;&lt;p&gt;:-)  objdump -d  a.out&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt;080484ae getbuf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt; 80484ae:   55                      push   %ebp&lt;span&gt;&lt;/span&gt;&lt;br /&gt;80484af:   89 e5                   mov    %esp,%ebp&lt;span&gt;&lt;/span&gt;&lt;br /&gt;80484b1:   83 ec 18                sub    $0x18,%esp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt; 80484b4:   8d 45 f4                lea    0xfffffff4(%ebp),%eax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt; 80484b7:   89 04 24                mov    %eax,(%esp)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt; 80484ba:   e8 25 ff ff ff          call   80483e4 &amp;lt;getxs&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt; 80484bf:   b8 01 00 00 00          mov    $0x1,%eax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt; 80484c4:   c9                      leave&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt; 80484c5:   c3                      ret&lt;/span&gt;&lt;br /&gt;分析getbuf的栈帧结构：&lt;/p&gt;&lt;p style="text-align: center; color: rgb(153, 153, 0);"&gt;    返回地址.1&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: center; color: rgb(153, 153, 0);"&gt;    %ebp.1&lt;/div&gt;&lt;p style="text-align: center; color: rgb(153, 153, 0);"&gt;&lt;br /&gt; %eax ;buf首地址&lt;/p&gt;&lt;p style="text-align: center; color: rgb(153, 153, 0);"&gt;    返回地址.2&lt;br /&gt; %ebp.2&lt;/p&gt;&lt;p&gt;可以看到，我们的输入必须在％eax往上（地址增加）的栈上，我们的功能代码应该是&lt;/p&gt;&lt;p&gt;*mov $0xdeadbeef, %eax*&lt;/p&gt;&lt;p&gt;*push $ip(返回地址1)*&lt;/p&gt;&lt;p&gt;*     ret&lt;br /&gt;最后为了保护%ebp.1和跳转到%eax执行代码&lt;br /&gt;我们的输入应该是这样的形式&lt;br /&gt;功能代码的机器码 00(填充12字节的剩余部分)  ％ebp  %eax的地址&lt;br /&gt;*&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-3861951880972839424?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/3861951880972839424/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=3861951880972839424' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/3861951880972839424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/3861951880972839424'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/04/bufbomb.html' title='Bufbomb可爱的缓冲区溢出'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-2519943231157209134</id><published>2007-03-31T14:00:00.000+08:00</published><updated>2007-03-31T14:01:49.199+08:00</updated><title type='text'>本欲乘风归去</title><content type='html'>国内的网络条件一直都不是很好，我在教育网，很难顺畅地访问&lt;a href="http://www.blogger.com/"&gt;blogger&lt;/a&gt;。有个同学，不是熟识，不过他的系统还是很不错，我身边有好多的同学都在使用；我寒假前注册了一个帐号，发了一个短文，在网站里里外外逛了一大圈，确实不错：功能很多，给我们用户的权限也很大，使着确实挺爽。唯一的难处，太难折腾了，有些麻烦。说来很奇怪，我不怕折腾，但是偏偏不喜欢网络上的折腾：我是个急性子，懒得等。。。放假回来以后，就没有怎么去看；今天突然想起来了，一去看，OMG，居然有19个回复，我高兴坏了，心想这人气真NB啊！一点击，我崩溃了，基本都是广告，多数还是国外的，郁闷。。。&lt;br /&gt;    我不想折腾密码啥的，还是回来用blogger吧，慢点儿我也忍了。另外一个&lt;a href="http://lifevimer.blogspot.com/"&gt;blog&lt;/a&gt;不打算用了，&lt;br /&gt;id实在是难听，我自己怎 么能想这么个名字呢？纳闷儿。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-2519943231157209134?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/2519943231157209134/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=2519943231157209134' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/2519943231157209134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/2519943231157209134'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/03/blog-post_31.html' title='本欲乘风归去'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-875172472622869050</id><published>2007-03-30T21:14:00.000+08:00</published><updated>2007-03-30T21:40:28.101+08:00</updated><title type='text'>四月是收获的季节？</title><content type='html'>    在我的印象了，四月绝对不是一个收获的季节。然而，2007年的四月，却实实在在的是一个收获的季节。在这个四月里，开源社区将会迎来很多喜讯，我们相信 可以收获很多：&lt;a href="http://www.kde.org"&gt;KDE4&lt;/a&gt;、&lt;a  href="http://fedoraproject.org"&gt;fedora7&lt;/a&gt;、&lt;a  href="http://www.ubuntu.com"&gt;ubuntu&lt;/a&gt;还有我最最关心的&lt;a  href="http://www.debian.org/releases/testing"&gt;Debian etch&lt;/a&gt;都会在这个四月和我们 见面。每一个软件都会有许多令人兴奋的新特性，我有些迫不及待了。。。&lt;br&gt;     This April,I will go back to my study after three years ago I left .I will do my best so that the next April will be a harvest season for me!I believe...&lt;br&gt;     God bless me!&lt;br&gt; Amen 阿弥陀佛 安拉赞美我&lt;br&gt; ＠_@...&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-875172472622869050?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/875172472622869050/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=875172472622869050' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/875172472622869050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/875172472622869050'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/03/blog-post_7097.html' title='四月是收获的季节？'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-3118232763655356229</id><published>2007-03-29T22:04:00.001+08:00</published><updated>2007-03-30T21:25:45.119+08:00</updated><title type='text'>何去何从？</title><content type='html'>转眼之间，我就大三下学期了；考研还是工作，这个现实的问题残酷地摆在我眼前。Go on studying Or go to work?It's a  question!!!&lt;br /&gt;   从我的本意来讲，我是不想考研的。实在不想再上学了，现在我逃课已经远远超过我上过的课了，既然这样，我何苦还要在学校里边受煎熬呢？我自己都不明白。。。&lt;br /&gt;   我想去找工作，最近有一些很好的公司招实习生，我有些心动了。但是我有些胆怯，看着那一个个的"Must"，思考着自己是不是有所要求的"Plus"，我又觉得，我知道的东西太少了，没有十足的底气。&lt;br /&gt;   我记得以前不是这样的，难道平淡的大学生活让我的心气更高，却没有足够的实力？也许现实就是这样的。&lt;br /&gt;   我哭&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-3118232763655356229?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/3118232763655356229/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=3118232763655356229' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/3118232763655356229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/3118232763655356229'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/03/blog-post_29.html' title='何去何从？'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8790971461899926036.post-6450749383837928683</id><published>2007-03-28T22:21:00.001+08:00</published><updated>2007-03-28T22:27:39.532+08:00</updated><title type='text'>本欲乘风归去</title><content type='html'>国内的网络条件一直都不是很好，我在教育网，很难顺畅地访问&lt;a href="http://www.blogger.com/"&gt;blogger&lt;/a&gt;。有个同学，不是熟识，不过他的系统还是很不错，我身边有好多的同学都在使用；我寒假前注册了一个帐号，发了一个短文，在网站里里外外逛了一大圈，确实不错：功能很多，给我们用户的权限也很大，使着确实挺爽。唯一的难处，太难折腾了，有些麻烦。说来很奇怪，我不怕折腾，但是偏偏不喜欢网络上的折腾：我是个急性子，懒得等。。。放假回来以后，就没有怎么去看；今天突然想起来了，一去看，OMG，居然有19个回复，我高兴坏了，心想这人气真NB啊！一点击，我崩溃了，基本都是广告，多数还是国外的，郁闷。。。&lt;br /&gt; 我不想折腾密码啥的，还是回来用blogger吧，慢点儿我也忍了。另外一个&lt;a href="http://lifevimer.blogspot.com/"&gt;blog&lt;/a&gt;不打算用了，id实在是难听，我自己怎 么能想这么个名字呢？纳闷儿。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8790971461899926036-6450749383837928683?l=kevinmiter.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kevinmiter.blogspot.com/feeds/6450749383837928683/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8790971461899926036&amp;postID=6450749383837928683' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/6450749383837928683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8790971461899926036/posts/default/6450749383837928683'/><link rel='alternate' type='text/html' href='http://kevinmiter.blogspot.com/2007/03/blog-post.html' title='本欲乘风归去'/><author><name>firenet</name><uri>http://www.blogger.com/profile/15811875452355998835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://www.vim.ca/images/vim_logo_select.gif'/></author><thr:total>0</thr:total></entry></feed>
