﻿<?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++博客-0OO</title><link>http://www.cppblog.com/0OO/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 23 Apr 2026 10:14:16 GMT</lastBuildDate><pubDate>Thu, 23 Apr 2026 10:14:16 GMT</pubDate><ttl>60</ttl><item><title>zoo_函数不返回</title><link>http://www.cppblog.com/0OO/archive/2016/06/20/213765.html</link><dc:creator>零圈圈</dc:creator><author>零圈圈</author><pubDate>Mon, 20 Jun 2016 07:34:00 GMT</pubDate><guid>http://www.cppblog.com/0OO/archive/2016/06/20/213765.html</guid><wfw:comment>http://www.cppblog.com/0OO/comments/213765.html</wfw:comment><comments>http://www.cppblog.com/0OO/archive/2016/06/20/213765.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/0OO/comments/commentRss/213765.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/0OO/services/trackbacks/213765.html</trackback:ping><description><![CDATA[<div>&nbsp;&nbsp; 今天在使用zookeeper读取策略文件时遇到一个奇怪的问题：<br />&nbsp;&nbsp;  在程序启动时进行zookeeper服务器的连接，从指定节点读取策略文件数据都是ok的，然后创建线程，把zookeeper连接句柄传入，在线程中定 时检查该策略文件是否更新，这时候奇怪的问题出现了：调用zoo_exists函数或者zoo_get函数都无法返回，线程被阻塞了。<br />&nbsp;&nbsp; 经过一系列的猜测和排查（过程就不多说了），原因是：<br />&nbsp;&nbsp; zookeeper连接句柄是在daemon函数之前创建的，估计在变成后台进程时，某些东西没有复制过去。 </div><img src ="http://www.cppblog.com/0OO/aggbug/213765.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/0OO/" target="_blank">零圈圈</a> 2016-06-20 15:34 <a href="http://www.cppblog.com/0OO/archive/2016/06/20/213765.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个特殊的缓存队列</title><link>http://www.cppblog.com/0OO/archive/2013/07/10/201655.html</link><dc:creator>零圈圈</dc:creator><author>零圈圈</author><pubDate>Wed, 10 Jul 2013 02:20:00 GMT</pubDate><guid>http://www.cppblog.com/0OO/archive/2013/07/10/201655.html</guid><wfw:comment>http://www.cppblog.com/0OO/comments/201655.html</wfw:comment><comments>http://www.cppblog.com/0OO/archive/2013/07/10/201655.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/0OO/comments/commentRss/201655.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/0OO/services/trackbacks/201655.html</trackback:ping><description><![CDATA[实现这么一个缓存:<br />(1)缓存的对象是固定大小<br />(2)只能从该缓存中分配内存<br />(3)释放内存要回到缓存中<br />(4)读写缓存中的数据符合FIFO规则<br />用途:<br />(1)接受固定大小的数据块,然后写入缓存中,工作线程从缓存中读取数据块进行处理.<br /><br />代码:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">/*</span><span style="color: #008000; ">*<br />&nbsp;*&nbsp;FIFO_Pool.h<br />&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />#ifndef&nbsp;__FIFO_POOL_H<br /></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;__FIFO_POOL_H</span><span style="color: #000000; "><br /><br />#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">boost</span><span style="color: #000000; ">/</span><span style="color: #000000; ">noncopyable.hpp</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">boost</span><span style="color: #000000; ">/</span><span style="color: #000000; ">pool</span><span style="color: #000000; ">/</span><span style="color: #000000; ">object_pool.hpp</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">boost</span><span style="color: #000000; ">/</span><span style="color: #000000; ">thread.hpp</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">boost</span><span style="color: #000000; ">/</span><span style="color: #000000; ">assert.hpp</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">queue</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /><br /></span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; ">&nbsp;ikud&nbsp;{<br /><br />template&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">typename&nbsp;T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;FIFO_Pool&nbsp;:&nbsp;boost::noncopyable<br />{<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br />&nbsp;&nbsp;&nbsp;&nbsp;FIFO_Pool(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;size);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">virtual</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">~</span><span style="color: #000000; ">FIFO_Pool(</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">)&nbsp;{&nbsp;</span><span style="color: #008000; ">/*</span><span style="color: #008000; ">no-op</span><span style="color: #008000; ">*/</span><span style="color: #000000; ">&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;T</span><span style="color: #000000; ">*</span><span style="color: #000000; ">&nbsp;malloc(</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;free(T</span><span style="color: #000000; ">*</span><span style="color: #000000; ">&nbsp;ptr);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;read(T</span><span style="color: #000000; ">**</span><span style="color: #000000; ">&nbsp;ptr);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;write(T</span><span style="color: #000000; ">*</span><span style="color: #000000; ">&nbsp;ptr);<br /><br /></span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;capacity_;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;total_;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;boost::object_pool</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;pool_;<br />&nbsp;&nbsp;&nbsp;&nbsp;boost::mutex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool_mutex_;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;std::queue</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">*&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fifo_;<br />&nbsp;&nbsp;&nbsp;&nbsp;boost::mutex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fifo_mutex_;<br />&nbsp;&nbsp;&nbsp;&nbsp;boost::condition&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fifo_cond_;<br /><br />};<br /><br />template&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">typename&nbsp;T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />FIFO_Pool</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">::FIFO_Pool(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;size)&nbsp;:&nbsp;capacity_(size),&nbsp;total_(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;BOOST_ASSERT(size&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br />}<br /><br />template&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">typename&nbsp;T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />T</span><span style="color: #000000; ">*</span><span style="color: #000000; ">&nbsp;FIFO_Pool</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">::malloc()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;boost::mutex::scoped_lock&nbsp;</span><span style="color: #0000FF; ">lock</span><span style="color: #000000; ">(pool_mutex_);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;T</span><span style="color: #000000; ">*</span><span style="color: #000000; ">&nbsp;ptr&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;NULL;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(total_&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;capacity_)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ptr&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;pool_.malloc();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(ptr&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;NULL)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">++</span><span style="color: #000000; ">&nbsp;total_;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;ptr;<br />}<br /><br />template&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">typename&nbsp;T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;FIFO_Pool</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">::free(T</span><span style="color: #000000; ">*</span><span style="color: #000000; ">&nbsp;ptr)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;BOOST_ASSERT(pool_.is_from(ptr));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;boost::mutex::scoped_lock&nbsp;</span><span style="color: #0000FF; ">lock</span><span style="color: #000000; ">(pool_mutex_);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;pool_.free(ptr);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">--</span><span style="color: #000000; ">&nbsp;total_;<br />}<br /><br />template&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">typename&nbsp;T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;FIFO_Pool</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">::read(T</span><span style="color: #000000; ">**</span><span style="color: #000000; ">&nbsp;ptr)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;boost::mutex::scoped_lock&nbsp;</span><span style="color: #0000FF; ">lock</span><span style="color: #000000; ">(fifo_mutex_);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(fifo_.size()&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fifo_cond_.wait(</span><span style="color: #0000FF; ">lock</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">ptr&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;fifo_.front();<br />&nbsp;&nbsp;&nbsp;&nbsp;fifo_.pop();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />}<br /><br />template&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">typename&nbsp;T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;FIFO_Pool</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">T</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">::write(T</span><span style="color: #000000; ">*</span><span style="color: #000000; ">&nbsp;ptr)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;BOOST_ASSERT(pool_.is_from(ptr));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;boost::mutex::scoped_lock&nbsp;</span><span style="color: #0000FF; ">lock</span><span style="color: #000000; ">(fifo_mutex_);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;fifo_.push(ptr);<br />&nbsp;&nbsp;&nbsp;&nbsp;fifo_cond_.notify_one();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />}<br /><br /><br />}&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;namespace&nbsp;ikud</span><span style="color: #008000; "><br /></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">#endif</span><span style="color: #000000; ">&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;__FIFO_POOL_H</span><span style="color: #000000; "><br /></span></div><img src ="http://www.cppblog.com/0OO/aggbug/201655.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/0OO/" target="_blank">零圈圈</a> 2013-07-10 10:20 <a href="http://www.cppblog.com/0OO/archive/2013/07/10/201655.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>闭包-初级概念</title><link>http://www.cppblog.com/0OO/archive/2013/07/04/201515.html</link><dc:creator>零圈圈</dc:creator><author>零圈圈</author><pubDate>Thu, 04 Jul 2013 06:28:00 GMT</pubDate><guid>http://www.cppblog.com/0OO/archive/2013/07/04/201515.html</guid><wfw:comment>http://www.cppblog.com/0OO/comments/201515.html</wfw:comment><comments>http://www.cppblog.com/0OO/archive/2013/07/04/201515.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/0OO/comments/commentRss/201515.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/0OO/services/trackbacks/201515.html</trackback:ping><description><![CDATA[<div>通俗的说：子函数可以使用父函数中的局部变量，这种行为就叫做闭包！</div><div><div>function a(){</div> <div>var i=0;</div> <div>function b(){</div> <div>alert(++i);</div> <div>}</div> <div>return b;</div> <div>}</div> <div>var c = a();</div> <div>c();</div></div><img src ="http://www.cppblog.com/0OO/aggbug/201515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/0OO/" target="_blank">零圈圈</a> 2013-07-04 14:28 <a href="http://www.cppblog.com/0OO/archive/2013/07/04/201515.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>boost singleton</title><link>http://www.cppblog.com/0OO/archive/2013/06/28/201361.html</link><dc:creator>零圈圈</dc:creator><author>零圈圈</author><pubDate>Fri, 28 Jun 2013 03:16:00 GMT</pubDate><guid>http://www.cppblog.com/0OO/archive/2013/06/28/201361.html</guid><wfw:comment>http://www.cppblog.com/0OO/comments/201361.html</wfw:comment><comments>http://www.cppblog.com/0OO/archive/2013/06/28/201361.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/0OO/comments/commentRss/201361.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/0OO/services/trackbacks/201361.html</trackback:ping><description><![CDATA[这段时间打算从ACE库转移到boost库上,遇到很多问题.<br />boost的singleton没有单独的库实现,在1.33.1版本发现了两处:<br /><div>/usr/include/boost/thread/detail/singleton.hpp</div><div>/usr/include/boost/pool/detail/singleton.hpp</div><br />thread库里面的实现非常简单,采用函数里面static变量仅被初始化一次的特性,整个实现就两句话:<br /><div><div>&nbsp;&nbsp;&nbsp; static singleton&lt;T&gt; s_oT;<br />&nbsp;&nbsp;&nbsp; return(s_oT);<br />这个就是网上说的2B青年的做法,缺陷啥的不多说了.<br /><br />pool库的实现就比较复杂,思想是在main函数调用前,就先实例化,并解决多线程的问题,缺陷就是不能lazy了.</div></div><img src ="http://www.cppblog.com/0OO/aggbug/201361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/0OO/" target="_blank">零圈圈</a> 2013-06-28 11:16 <a href="http://www.cppblog.com/0OO/archive/2013/06/28/201361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows下安装Apache2.2 + PHP5.3 + Mysql5.1</title><link>http://www.cppblog.com/0OO/archive/2009/09/23/97031.html</link><dc:creator>零圈圈</dc:creator><author>零圈圈</author><pubDate>Wed, 23 Sep 2009 09:12:00 GMT</pubDate><guid>http://www.cppblog.com/0OO/archive/2009/09/23/97031.html</guid><wfw:comment>http://www.cppblog.com/0OO/comments/97031.html</wfw:comment><comments>http://www.cppblog.com/0OO/archive/2009/09/23/97031.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/0OO/comments/commentRss/97031.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/0OO/services/trackbacks/97031.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: (一)<br>1.下载apache_2.2.13-win32-x86-no_ssl.msi<br><br>2.下载php-5.3.0-Win32-VC6-x86.zip<br>  注意VC6版本for Apache, VC9版本for IIS<br>  php-5.3.0-nts-Win32-VC6-x86.msi不能为Apache正常安装(?)<br><br>3.下载mysql-5.1.38-win32.msi&nbsp;&nbsp;<a href='http://www.cppblog.com/0OO/archive/2009/09/23/97031.html'>阅读全文</a><img src ="http://www.cppblog.com/0OO/aggbug/97031.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/0OO/" target="_blank">零圈圈</a> 2009-09-23 17:12 <a href="http://www.cppblog.com/0OO/archive/2009/09/23/97031.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转贴《Apache 2.2 中文手册》</title><link>http://www.cppblog.com/0OO/archive/2009/09/21/96842.html</link><dc:creator>零圈圈</dc:creator><author>零圈圈</author><pubDate>Mon, 21 Sep 2009 06:20:00 GMT</pubDate><guid>http://www.cppblog.com/0OO/archive/2009/09/21/96842.html</guid><wfw:comment>http://www.cppblog.com/0OO/comments/96842.html</wfw:comment><comments>http://www.cppblog.com/0OO/archive/2009/09/21/96842.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/0OO/comments/commentRss/96842.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/0OO/services/trackbacks/96842.html</trackback:ping><description><![CDATA[<a  href="http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html">http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html</a><br><img src ="http://www.cppblog.com/0OO/aggbug/96842.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/0OO/" target="_blank">零圈圈</a> 2009-09-21 14:20 <a href="http://www.cppblog.com/0OO/archive/2009/09/21/96842.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FreeTDS</title><link>http://www.cppblog.com/0OO/archive/2009/09/16/96433.html</link><dc:creator>零圈圈</dc:creator><author>零圈圈</author><pubDate>Wed, 16 Sep 2009 08:42:00 GMT</pubDate><guid>http://www.cppblog.com/0OO/archive/2009/09/16/96433.html</guid><wfw:comment>http://www.cppblog.com/0OO/comments/96433.html</wfw:comment><comments>http://www.cppblog.com/0OO/archive/2009/09/16/96433.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/0OO/comments/commentRss/96433.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/0OO/services/trackbacks/96433.html</trackback:ping><description><![CDATA[<font style="font-family: 幼圆;" size="+3"><strong></strong></font><span style="font-size: 12pt;"><font style="font-family: 幼圆;" size="+3"><strong>&nbsp; F</strong></font><span style="font-family: 幼圆;">reeTDS is a set of libraries for Unix
and Linux that allows your programs to natively talk to Microsoft SQL
Server and Sybase databases.</span><br style="font-family: 幼圆;"><a style="font-family: 幼圆;" href="http://www.freetds.org/">&nbsp; 官方网站: http://www.freetds.org/</a></span><br> <img src ="http://www.cppblog.com/0OO/aggbug/96433.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/0OO/" target="_blank">零圈圈</a> 2009-09-16 16:42 <a href="http://www.cppblog.com/0OO/archive/2009/09/16/96433.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python学习（转贴）</title><link>http://www.cppblog.com/0OO/archive/2009/09/16/96410.html</link><dc:creator>零圈圈</dc:creator><author>零圈圈</author><pubDate>Wed, 16 Sep 2009 05:56:00 GMT</pubDate><guid>http://www.cppblog.com/0OO/archive/2009/09/16/96410.html</guid><wfw:comment>http://www.cppblog.com/0OO/comments/96410.html</wfw:comment><comments>http://www.cppblog.com/0OO/archive/2009/09/16/96410.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/0OO/comments/commentRss/96410.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/0OO/services/trackbacks/96410.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: <br>    Python基本安装<br>    Python文档<br>    常用插件<br>    常用工具<br>    推荐资源&nbsp;&nbsp;<a href='http://www.cppblog.com/0OO/archive/2009/09/16/96410.html'>阅读全文</a><img src ="http://www.cppblog.com/0OO/aggbug/96410.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/0OO/" target="_blank">零圈圈</a> 2009-09-16 13:56 <a href="http://www.cppblog.com/0OO/archive/2009/09/16/96410.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转贴】Lua 5.1 参考手册 </title><link>http://www.cppblog.com/0OO/archive/2009/09/11/95899.html</link><dc:creator>零圈圈</dc:creator><author>零圈圈</author><pubDate>Fri, 11 Sep 2009 03:29:00 GMT</pubDate><guid>http://www.cppblog.com/0OO/archive/2009/09/11/95899.html</guid><wfw:comment>http://www.cppblog.com/0OO/comments/95899.html</wfw:comment><comments>http://www.cppblog.com/0OO/archive/2009/09/11/95899.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/0OO/comments/commentRss/95899.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/0OO/services/trackbacks/95899.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Lua 5.1 参考手册 http://www.codingnow.com/2000/download/lua_manual.htmlby Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes云风 译 www.codingnow.comCopyright&#169; 2006 L...&nbsp;&nbsp;<a href='http://www.cppblog.com/0OO/archive/2009/09/11/95899.html'>阅读全文</a><img src ="http://www.cppblog.com/0OO/aggbug/95899.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/0OO/" target="_blank">零圈圈</a> 2009-09-11 11:29 <a href="http://www.cppblog.com/0OO/archive/2009/09/11/95899.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开始 Lua </title><link>http://www.cppblog.com/0OO/archive/2009/09/11/95896.html</link><dc:creator>零圈圈</dc:creator><author>零圈圈</author><pubDate>Fri, 11 Sep 2009 03:20:00 GMT</pubDate><guid>http://www.cppblog.com/0OO/archive/2009/09/11/95896.html</guid><wfw:comment>http://www.cppblog.com/0OO/comments/95896.html</wfw:comment><comments>http://www.cppblog.com/0OO/archive/2009/09/11/95896.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/0OO/comments/commentRss/95896.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/0OO/services/trackbacks/95896.html</trackback:ping><description><![CDATA[<span style="font-family: 幼圆; font-size: 12pt;">&nbsp; Lua 是一个扩展式程序设计语言，它被设计成支持通用的过程式编程，并有相关数据描述的设施。</span><br style="font-family: 幼圆;"><span style="font-family: 幼圆;">&nbsp; Lua 也能对面向对象编程，函数式编程，数据驱动式编程提供很好的支持。</span><br style="font-family: 幼圆;"><span style="font-family: 幼圆;">&nbsp; Lua 可以作为一个强大、轻量的脚本语言，供任何需要的程序使用。
</span><br style="font-family: 幼圆;"><span style="font-family: 幼圆;">&nbsp; Lua 以一个用 </span><em style="font-family: 幼圆;">clean</em><span style="font-family: 幼圆;"> C 写成的库形式提供。（所谓 Clean C ，指的 ANSI C 和 C++ 中共通的一个子集）。</span><br style="font-family: 幼圆;"><span style="font-family: 幼圆;">&nbsp; 官方网站：</span><a style="font-family: 幼圆;" href="http://www.lua.org/">http://www.lua.org/</a><br style="font-family: 幼圆;"><span style="font-family: 幼圆;">&nbsp; 常用网站：</span><a style="font-family: 幼圆;" href="http://lua-users.org/wiki/">http://lua-users.org/</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a  href="http://luaforge.net/">http://luaforge.net/</a>&nbsp; <span style="font-size: 12pt;"><span style="font-family: 幼圆;">a catalog of Lua projects，e.g. </span></span><a  href="http://luaforge.net/projects/luasocket/">LuaSocket</a>、<a  href="http://luaforge.net/projects/luasql/">LuaSQL</a><img src ="http://www.cppblog.com/0OO/aggbug/95896.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/0OO/" target="_blank">零圈圈</a> 2009-09-11 11:20 <a href="http://www.cppblog.com/0OO/archive/2009/09/11/95896.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>