﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Kiki之家-文章分类-编译器/编辑器相关</title><link>http://www.cppblog.com/superKiki/category/13709.html</link><description>还能叫什么名字啊</description><language>zh-cn</language><lastBuildDate>Fri, 07 May 2010 03:20:55 GMT</lastBuildDate><pubDate>Fri, 07 May 2010 03:20:55 GMT</pubDate><ttl>60</ttl><item><title>将VIM配置成IDE</title><link>http://www.cppblog.com/superKiki/articles/114539.html</link><dc:creator>superKiki</dc:creator><author>superKiki</author><pubDate>Wed, 05 May 2010 14:03:00 GMT</pubDate><guid>http://www.cppblog.com/superKiki/articles/114539.html</guid><wfw:comment>http://www.cppblog.com/superKiki/comments/114539.html</wfw:comment><comments>http://www.cppblog.com/superKiki/articles/114539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/superKiki/comments/commentRss/114539.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/superKiki/services/trackbacks/114539.html</trackback:ping><description><![CDATA[<p>先看一下最终效果(点击看大图):</p>
<p><img border=0 src="http://www.cppblog.com/images/cppblog_com/superkiki/12360567870.jpg" width=752 height=587><a href="http://xdaqing.blogbus.com/files/s/12360567870.png" target=_blank></a></p>
<p>下面我们一步一步的来配置:</p>
<p>1. 基本配置</p>
<p><span style="COLOR: #666699">&nbsp;&nbsp;&nbsp; set nocompatible<br>&nbsp;&nbsp;&nbsp; set mouse=a<br>&nbsp;&nbsp;&nbsp; syntax on<br>&nbsp;&nbsp;&nbsp; filetype on<br>&nbsp;&nbsp;&nbsp; set autowrite<br>&nbsp;&nbsp;&nbsp; set number<br>&nbsp;&nbsp;&nbsp; set showcmd<br>&nbsp;&nbsp;&nbsp; set lcs=tab:&gt;-,trail:-<br>&nbsp;&nbsp;&nbsp; set list<br>&nbsp;&nbsp;&nbsp; set showmode<br>&nbsp;&nbsp;&nbsp; set title<br>&nbsp;&nbsp;&nbsp; set tabstop=4<br>&nbsp;&nbsp;&nbsp; set ruler<br>&nbsp;&nbsp;&nbsp; set encoding=utf-8<br>&nbsp;&nbsp;&nbsp; set fileencoding=utf-8<br>&nbsp;&nbsp;&nbsp; set nobackup<br>&nbsp;&nbsp;&nbsp; set autoindent<br>&nbsp;&nbsp;&nbsp; set smartindent<br>&nbsp;&nbsp;&nbsp; set expandtab<br>&nbsp;&nbsp;&nbsp; set shiftwidth=4<br>&nbsp;&nbsp;&nbsp; set smarttab<br>&nbsp;&nbsp;&nbsp; set fdm=indent<br>&nbsp;&nbsp;&nbsp; set fdc=4<br>&nbsp;&nbsp;&nbsp; set nowrap<br>&nbsp;&nbsp;&nbsp; set hlsearch<br>&nbsp;&nbsp;&nbsp; set incsearch</span></p>
<p>&nbsp;</p>
<p>2. 然后是安装TagList插件</p>
<p>&nbsp;&nbsp;&nbsp; 在 <a href="http://www.vim.org/scripts/script.php?script_id=273" target=_blank><u><font color=#0000ff>这里</font></u></a> 可以找到TagList的介绍和下载地址, 安装vim插件的方法都一样, 就是把压缩包下载下来, 解压缩, 一般会得到一个plugin目录和doc目录. 在*nix系统(比如Linux或Mac OS X)中, 只要把这两个文件夹下的文件分别放到~/.vim/plugin和~/.vim/doc下面就行了.</p>
<p>&nbsp;&nbsp;&nbsp; plugin目录下的东西, vim在下次启动时会自动加载, 而那个doc目录下的文件是个帮助文档, 需要用vim打开这个帮助文档, 然后在命令模式下输入 <span style="COLOR: #666699">:helptags . <span style="COLOR: #666699">(别漏了最后的句点)</span></span></p>
<p>&nbsp;&nbsp;&nbsp; TagList的简单配置如下: </p>
<p>&nbsp;&nbsp;&nbsp; <span style="COLOR: #666699">map &lt;F3&gt; :Tlist&lt;CR&gt;<br>&nbsp;&nbsp;&nbsp; let Tlist_Use_Right_Window=1<br>&nbsp;&nbsp;&nbsp; let Tlist_File_Fold_Auto_Close=1</span></p>
<p>3. 然后安装NERDTree</p>
<p>&nbsp;&nbsp;&nbsp; 安装方法类似TagList, 就不再细说了.</p>
<p>&nbsp;&nbsp;&nbsp; 简单的配置如下:</p>
<p>&nbsp;&nbsp;&nbsp; <span style="COLOR: #666699">map &lt;F1&gt; :NERDTreeMirror&lt;CR&gt;<br>&nbsp;&nbsp;&nbsp; map &lt;F2&gt; :NERDTreeToggle&lt;CR&gt;</span></p>
<p>&nbsp;4. 配置Vim的智能补全, 即所谓的Omni Completion.</p>
<p>&nbsp;&nbsp;&nbsp; <span style="COLOR: #666699">fun! OmniComplete()<br>&nbsp;&nbsp;&nbsp; let left = strpart(getline('.'), col('.') - 2, 1)<br>&nbsp;&nbsp;&nbsp; if left =~ "^$"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ""<br>&nbsp;&nbsp;&nbsp; elseif left =~ ' $'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ""<br>&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "\&lt;C-x&gt;\&lt;C-o&gt;"<br>&nbsp;&nbsp;&nbsp; endfun<br>&nbsp;&nbsp;&nbsp; inoremap &lt;silent&gt; &lt;S-Tab&gt; &lt;C-R&gt;=OmniComplete()&lt;CR&gt;<br><br>&nbsp;&nbsp;&nbsp; " turn on Omni completion<br>&nbsp;&nbsp;&nbsp; autocmd FileType c set ofu=ccomplete#Complete<br>&nbsp;&nbsp;&nbsp; autocmd FileType php set ofu=phpcomplete#CompletePHP<br>&nbsp;&nbsp;&nbsp; autocmd FileType python set ofu=pythoncomplete#Complete<br>&nbsp;&nbsp;&nbsp; autocmd FileType javascript set ofu=javascriptcomplete#CompleteJS<br>&nbsp;&nbsp;&nbsp; autocmd FileType html set ofu=htmlcomplete#CompleteTags<br>&nbsp;&nbsp;&nbsp; autocmd FileType css set ofu=csscomplete#CompleteCSS<br>&nbsp;&nbsp;&nbsp; autocmd FileType xml set ofu=xmlcomplete#CompleteTags</span></p>
<p>5. 配合<a href="http://www.cppblog.com/superKiki/admin/ctags.sf.net" target=_blank><u><font color=#0000ff>ctags</font></u></a>, vim可以从一个函数调用跳转到其函数定义(快捷键是CTRL+]), ctags的用法很简单, 一般来说, 只要在项目的根目录运行 <span style="COLOR: #666699">ctags -R .</span> 就行了. vim在启动时, 会自动寻找当前目录下的tags文件, 如果有就会加载, 当然, 也可以告诉vim去哪里找tags文件, 配置如下:</p>
<p>&nbsp;&nbsp;&nbsp; <span style="COLOR: #666699">set tags=./tags,~/my/project/tags</span></p>
<p>还可以配置Tab键来智能补全tags:</p>
<p>&nbsp;&nbsp;&nbsp; <span style="COLOR: #666699">fun! KeywordComplete()<br>&nbsp;&nbsp;&nbsp; let left = strpart(getline('.'), col('.') - 2, 1)<br>&nbsp;&nbsp;&nbsp; if left =~ "^$"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "\&lt;Tab&gt;"<br>&nbsp;&nbsp;&nbsp; elseif left =~ ' $'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "\&lt;Tab&gt;"<br>&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "\&lt;C-N&gt;"<br>&nbsp;&nbsp;&nbsp; endfun<br>&nbsp;&nbsp;&nbsp; inoremap &lt;silent&gt; &lt;Tab&gt; &lt;C-R&gt;=KeywordComplete()&lt;CR&gt;</span></p>
<p>6. 其他的小配置:</p>
<p>&nbsp;&nbsp;&nbsp; <span style="COLOR: #666699">source $VIMRUNTIME/menu.vim<br>&nbsp;&nbsp;&nbsp; set wildmenu<br>&nbsp;&nbsp;&nbsp; set cpo-=&lt;<br>&nbsp;&nbsp;&nbsp; set wcm=&lt;C-Z&gt;<br>&nbsp;&nbsp;&nbsp; map &lt;F6&gt; :emenu &lt;C-Z&gt;</span></p>
<p>到目前为止, 我们的vim就相当好用了, 最终的配置文件在这里: <a href="http://gist.github.com/70732" target=_blank><u><font color=#0000ff>http://gist.github.com/70732</font></u></a></p>
<img src ="http://www.cppblog.com/superKiki/aggbug/114539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/superKiki/" target="_blank">superKiki</a> 2010-05-05 22:03 <a href="http://www.cppblog.com/superKiki/articles/114539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VIM入门级技巧</title><link>http://www.cppblog.com/superKiki/articles/114197.html</link><dc:creator>superKiki</dc:creator><author>superKiki</author><pubDate>Sun, 02 May 2010 11:09:00 GMT</pubDate><guid>http://www.cppblog.com/superKiki/articles/114197.html</guid><wfw:comment>http://www.cppblog.com/superKiki/comments/114197.html</wfw:comment><comments>http://www.cppblog.com/superKiki/articles/114197.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/superKiki/comments/commentRss/114197.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/superKiki/services/trackbacks/114197.html</trackback:ping><description><![CDATA[<p>Vim是一个十分强大的文本编辑器，被誉为&#8221;编辑器之神&#8221;，熟练地使用Vim会使你处理文本、编辑代码的效率提升n个数量级！如果你现在还在使用gedit甚至是&#8221;记事本&#8221;的话，我奉劝你赶快把它扔到垃圾桶，马上开始你的Vim之旅。这里列出一些我经常使用的基本的Vim命令和技巧，Vim的使用是一个长期的学习、实践、再学习、再实践的过程。Here we go.</p>
<h4>安装Vim/Gvim</h4>
<p>如果你现在没使用过Vim/Gvim，你首先需要安装它们，当前的版本为7.2。Debian/Ubuntu下面，sudo apt-get install vim-gnome即可。其他系统也有相应的包管理程序来直接安装。对于Windows，你需要到<a href="http://www.vim.org/download.php" target=_blank><u><font color=#0000ff>Vim的官方网站</font></u></a>来下载安装。安装时记得选中&#8221;设置Vim环境变量&#8221;的选项，这样你就可以直接在cmd下使用vim了。<br>在正式开始之前，最好在终端(cmd)里运行vimtutor，一步步按照提示操作，以对vim的操作有一个初步的了解。</p>
<h4>快速的移动</h4>
<h5>别在总在插入模式里呆着</h5>
<p>除了敲代码，不要总在插入模式里呆着，因为这样的Vim就和诸如gedit等普通的编辑器就没什么区别了。这就是为什么一些新手总是在插入模式的原因了，&#8221;好用&#8221;或者说&#8221;友好&#8221;。但是，Vim真正的威力却在于其命令模式，你将会发现，随着你对Vim的了解和熟练，你用插入模式的时间会越来越少。</p>
<h5>使用h, j, k, l</h5>
<p>为了有效的编辑文件，你首先应该做的就是戒掉那些个方向键 &#8592;&#8595;&#8593;&#8594;，代以h, j, k, l，即左、下、上、右。这样的好处是很明显的，你的手不用再不停地在字母键和方向键之间来回挪动了，这会为你节省相当可观的时间，但或许你需要一定的时间来适应这种转变。<br>在使用中你可能会遇到这样的文件，每一行(这里行以\n, \r标识)的文字都很长，以至于需要用视觉上的多行来显示，这时候使用j或者k会跳过若干行，以至于你不得不使用h或者l来在行内移动。当然，你可以不这么做，方法就是在j, k前面加g即可在视觉行间移动。</p>
<h5>使用motion在当前行内高效地移动</h5>
<p>　　许多其他的编辑器仅仅提供少量的命令来移动光标(左，上，右，下，行首/末等等)。Vim有很多强大的命令来高效地移动，它们被成为motion，motion都通常都有一个开始点(通常就是当前光标处)和一个目标点。下面列出一些有用的motion：</p>
<ul>
    <li>fx ：向右移动至字母x在当前行内下一次出现的位置f指forward，x可以是任一个字母。你还可以用;来重复执行刚才的fx操作，这两个命令的结合是极其有用的。</li>
    <li>tx ：同fx，区别在于光标会停留到x的右侧。</li>
    <li>Fx ：同fx，只是向左移动。</li>
    <li>w ：向右移动一个单词，光标停留在下一个单词的首字母，同样地，b向左移动。类似的还有一个命令e也是想右移动一个单词，只是光标会停留在单词的末尾。</li>
    <li>0 ：移动到行首，注意：这是零而不是O！</li>
    <li>$ ：移动到行末。</li>
    <li>^ ：移动到当前行的第一个字符。</li>
    <li>( ：移动到下一个句子。</li>
    <li>) ：移动到上一个句子。注：这两个命令在编写代码是较少用到，但在编辑普通的文本文章时比较有用。</li>
    <li>zz、z.、z-、zt：重画当前屏幕，使当前行显示在屏幕的中间、中间、底部、顶部，具体请:help cmd。</li>
</ul>
<h5>在整个文件域内高效地移动</h5>
<p>　　下面的一些命令可以让你在整个文件范围内移动，从而摆脱掉鼠标滚轮。</p>
<ul>
    <li>&lt;C-f&gt; ：向下滚动一屏。</li>
    <li>&lt;C-b&gt; ：向上滚动一屏。</li>
    <li>G ：即&lt;S-g&gt;，移动到文件末尾。</li>
    <li>nG ：移动到第n行。注：几乎所有可重复性操作都可以使用前缀数字执行n次。</li>
    <li>gg ：移动到文件开头。</li>
    <li>H ：移动到屏幕的最上方。</li>
    <li>M ：移动到屏幕正中间。</li>
    <li>L ：移动到屏幕最下方。</li>
    <li>* ：这个命令比较强大，它记录当前光标处的单词，并移动到该单词下次出现的位置。</li>
    <li># ：和*相同，但方向相反。</li>
    <li>g* and g#：同上，但匹配包含当前单词的单词，而不是完全匹配。</li>
    <li>/pattern ：向下查找模式pattern指定的字符串，pattern可以是一个正则表达式，当然也可以仅仅是一个单词。</li>
    <li>?pattern ：同上，但方向相反。</li>
    <li>mb ：在当前光标处设定一个书签bookmark，虽然你看不到，但它确实存在。注：此处b可以是任何一个字母或者数字。</li>
    <li>`b ：即ESC下面的&#8221;反引号&#8221;，移动到一个已经设定的书签处b。注：是`而不是&#8217;，不过&#8217;也是可以的，但只能移动到书签b所在的行，你可以根据自己的需要来使用。</li>
    <li>`. ：这个更牛叉，可以移动到你最近一次修改过的地方。</li>
</ul>
<h4>高效地输入</h4>
<h5>关键字自动补全</h5>
<p>　　Vim还有关键字自动补全的功能，这意味着：如果你已经定义了一个很长的变量，比如iAmALongLongVariableName，下次就不必在这个名字再完整地敲一遍，而只需要输入iAmA然后按下&lt;C-n&gt;，Vim就会为你自动补全这个变量名，如果前面不止一个类似的变量()那么Vim会弹出一个列表供你选择，在这个列表中你可以用&lt;C-p&gt;和&lt;C-n&gt;上下移动，空格会选择当前高亮的变量名。</p>
<h5>选择适当的进入插入模式的方法</h5>
<p>　　很多新手，总是先移动至指定位置，然后再用i进入到插入模式。这确实能够达到目的，但有时却并不合适。比如你现在在行末，需要在行首插入，如果一顿h或者聪明点的用nh或者nb，始终还是不够高效。下面有几个命令可供使用：</p>
<ul>
    <li>i ：在当前光标左侧插入。</li>
    <li>I(大小i) ：在行首插入。</li>
    <li>a ：在当前光标右侧插入。</li>
    <li>A ：在行末插入。</li>
    <li>o ：在当前行下面新建一行并进入插入模式。</li>
    <li>O ：同o，但在当前行的上面新建一行。</li>
    <li>c{motion} ：删除和移动的复合，其中motion是上文中提到过的。比如cfx，会从当前光标处开始删除至字母x(不包括x)并进入插入模式。被删除的字符被保存到剪切板，可以被稍候粘贴到其他地方。</li>
    <li>d{motion} ：同上，当并不进入插入模式。</li>
</ul>
<h4>高效地移动文本块</h4>
<h5>可视化选择</h5>
<p>　　不同于Vim的前身vi，Vim允许你高亮(即Visual可视化模式)某个文本块并对它执行某些操作。选择文本块的方式有三种：</p>
<ul>
    <li>v 进入可视化模式，此时可以使用前面的移动命令在选取高亮区域。</li>
    <li>V 进入行可视化模式，按行选择，即正行地选择。</li>
    <li>&lt;C-V&gt; 这个很有特色，它可以允许你在文本的任意地方选出一块矩形区域！当然，前提是那里确实有字符，很少有编辑器有这个功能。</li>
</ul>
<p>　　按上述方法进入可视化模式后，你可以使用前面的移动命令在选取高亮区域，比如vwww会高亮接下来的三个单词，vjj会选择下面的两行，etc.</p>
<h5>剪切和复制</h5>
<ul>
    <li>d ：剪切，即删除并放入剪切板。</li>
    <li>y ：复制。</li>
    <li>c ：同d，但还会进入插入模式。</li>
    <li>d{motion} ：和c{motion}类似。</li>
    <li>dd ：剪切当前行。</li>
    <li>yy ：复制当前行。</li>
    <li>cc ：修改当前行。</li>
    <li>D ：剪切至行尾。</li>
    <li>Y ：同yy。</li>
    <li>C ：类似D。</li>
    <li>x：剪切光标处字符。</li>
    <li>s ：同x，但进入插入模式。</li>
    <li>p ：粘贴。</li>
    <li>n&#8221;+yy ：这个稍显复杂，它从当前行开始向下复制n行，但和nyy不同的是，文本会被复制到系统剪切板，而不是Vim的剪切板，这样你就能在其他程序比如浏览器中进行Ctrl+V。</li>
    <li>&#8221;+p ：从系统剪切板粘贴。</li>
    <li>d&#8217;a, y&#8217;a：剪切和复制从当前到书签a之间各行。</li>
    <li>&#8221;+y&#8217;a：这个看起来有些复杂，它是前面几个命令的整合，和上一个命令功能相同，只是将当前行至书签a所在行复制到系统剪切板。</li>
    <li>&#8221;+ynumG：从当前行一直复制到第num行，相比上面的，这个选择性更大一点。</li>
</ul>
<h4>减少重复性操作</h4>
<h5>使用.</h5>
<p>　　好吧，我为它单独开了一个章节，.功能实用使用简单，但使用频率却十分的高。一个.可以重复你刚刚执行过的编辑操作，比如删除、粘贴等。</p>
<h5>使用宏记录</h5>
<p>　　有时候，你会发现你自己在文章的每段或者每行都重复相同的一系列动作。VIM 允许你记录一个宏来完成你的特殊需要。</p>
<ul>
    <li>qregister：记录宏到寄存器 register，这里 register 是任意的你的寄存器的名字。比如 qa，将会记录并且把宏存在寄存器 a 里面。</li>
    <li>q：结束宏的记录。</li>
    <li>@register：使用存在寄存器 register 的宏。比如 @a，将会使用存在寄存器 a 里面的宏。</li>
</ul>
<h4>写代码的时候</h4>
<p>　　VIM 是一个用来写代码的绝好编辑器，因为它有一些特性是专门为程序员而设计的。这里是一些常用的基本命令：</p>
<ul>
    <li>]p：和 p 的功能差不多，但是它会自动调整被粘贴的文本的缩进去适应当前代码的位置。试一下！</li>
    <li>%：匹配花括号、方括号、括号等。在一个括号的上面，然后按 %，鼠标就会出现在匹配的另外一半括号处。</li>
    <li>[{：光标移动至当前块(block)起始处，即上文最近的一个{处。再次[{移动到当前块所在的块起始处。</li>
    <li>]}：同上，移动至块末尾。</li>
    <li>[/：用于注释块(comment block)中，移动至块起始。</li>
    <li>]/：移动至注释块末尾。</li>
    <li>&#187;：缩进所有选择的代码</li>
    <li>&#171;：和上面类似，但是反缩进</li>
    <li>gd：到达光标所在处函数或者变量的定义处。</li>
    <li>&lt;C-]&gt;：同上。</li>
    <li>&lt;C-o&gt;：返回&lt;C-]&gt;操作前的位置。操作前的位置</li>
</ul>
<h4>键绑定</h4>
<p>　　发挥你想象力的时候到了。如你所见，Vim本身已经提供了大量的命令供你调遣，但不是所有的命令或者命令组合都适合所有的人。为此，Vim同学给了你根据个人习惯绑定命令的自由。vimrc中的一个简单的map命令即可做到，譬如</p>
<div class=wp_codebox>
<table>
    <tbody>
        <tr id=p21241>
            <td id=p2124code1 class=code>
            <pre style="FONT-FAMILY: monospace" class=vim>&#8220; <span style="COLOR: #668080">&lt;cr&gt;</span>标示回车<span style="COLOR: #000000">(</span>Enter<span style="COLOR: #000000">)</span>
            <span style="COLOR: #804040">map</span> ,w <span style="COLOR: #000000">:</span>w<span style="COLOR: #000000">&lt;</span>cr<span style="COLOR: #000000">&gt;</span></pre>
            </td>
        </tr>
    </tbody>
</table>
</div>
<p>　　列出常用的一些特殊按键的代号，</p>
<ul>
    <li>&lt;cr&gt;, &lt;Cr&gt;, or &lt;CR&gt;：回车；</li>
    <li>&lt;Space&gt;：空格；</li>
    <li>&lt;Esc&gt;：Esc；</li>
    <li>&lt;c-x&gt; or &lt;C-x&gt;：Ctrl + x；</li>
    <li>&lt;a-x&gt;：Alt + x；</li>
    <li>&lt;m-x&gt;：Meta + x；</li>
    <li>&lt;Left&gt;, &lt;Right&gt;, &lt;Up&gt;, &lt;Down&gt;：方向键；</li>
    <li>&lt;BS&gt;：Backspace；</li>
    <li>&lt;F10&gt;：功能键F10;</li>
    <li>&lt;cword&gt;：当前单词(类似a-b_c2)；</li>
    <li>&lt;cWORD&gt;：当前单词(不含空白符的字符串)；</li>
    <li>&lt;cfile&gt;：当前单词为名的文件；</li>
    <li>&lt;Home&gt;：Home，不是所有键盘都有的；</li>
    <li>Last but not the least, 所有的字母键都以</li>
</ul>
<img src ="http://www.cppblog.com/superKiki/aggbug/114197.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/superKiki/" target="_blank">superKiki</a> 2010-05-02 19:09 <a href="http://www.cppblog.com/superKiki/articles/114197.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>