﻿<?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++博客-socketref-随笔分类-unix/linux/solaris/sco-unix/novell</title><link>http://www.cppblog.com/socketref/category/464.html</link><description>opensource in my life!
Technical Engineer</description><language>zh-cn</language><lastBuildDate>Thu, 03 Jul 2008 20:55:37 GMT</lastBuildDate><pubDate>Thu, 03 Jul 2008 20:55:37 GMT</pubDate><ttl>60</ttl><item><title>btsc 代码更新 串行数据协议传输，增加明文 CRC校验</title><link>http://www.cppblog.com/socketref/archive/2008/07/04/55285.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Thu, 03 Jul 2008 18:35:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/07/04/55285.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/55285.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/07/04/55285.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/55285.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/55285.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;2&nbsp;/*&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name:&nbsp;&nbsp;&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/socketref/archive/2008/07/04/55285.html'>阅读全文</a><img src ="http://www.cppblog.com/socketref/aggbug/55285.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-07-04 02:35 <a href="http://www.cppblog.com/socketref/archive/2008/07/04/55285.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>操作Solid 数据库代码</title><link>http://www.cppblog.com/socketref/archive/2008/07/04/55283.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Thu, 03 Jul 2008 17:39:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/07/04/55283.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/55283.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/07/04/55283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/55283.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/55283.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: solid数据可能听说过的人不多，可是很多unix软件很多都采用此数据库，其儿紧凑，也是不大常见所以也能操持其稳定吧当初为了操作这个东东也是费了好些时候，主要是要申请到solid的sdk包 libsolidsa.a有了当然好办了，当然没有的可以联系我Code highlighting produced by Actipro CodeHighlighter (freeware)http://ww...&nbsp;&nbsp;<a href='http://www.cppblog.com/socketref/archive/2008/07/04/55283.html'>阅读全文</a><img src ="http://www.cppblog.com/socketref/aggbug/55283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-07-04 01:39 <a href="http://www.cppblog.com/socketref/archive/2008/07/04/55283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python连接DB2</title><link>http://www.cppblog.com/socketref/archive/2008/07/04/55281.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Thu, 03 Jul 2008 17:28:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/07/04/55281.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/55281.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/07/04/55281.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/55281.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/55281.html</trackback:ping><description><![CDATA[公司的项目中有访问DB2数据的需求，我以前也只是听说DB2有这么个咚咚，据说也是个恐龙级的数据库。以前也没有用过DB2 在c语言的接口(访问oracle我一直用oci),网上一兜，才发现DB2有JDBC的访问接口，c方面的很少。<br>项目的工期比较紧，同时我也不想花太多的时间研究数据库访问接口，所以在项目中许多模块都是用python编写，开发周期短，调试，跨平台也是很吸引人，所以就用python拉。在python.org一搜索，便找到了pydb2,OK! 马上下载pydb1.2，一解开压缩包，原来是原代码，只能编译拉。还好有编译脚本:), 运行setup.py install<br>出现以下异常:<br>Compiling under Visual Studio .NET v7 recieves the<br>following error: <br><br>_db2_module.c(1855) : error C2036: 'SQLPOINTER' :<br>unknown size<br><br>This can be resolved by casting to (SQLCHAR *) instead<br>of a (void *): <br><br>&lt; SQLPOINTER buf = (SQLPOINTER)((SQLCHAR<br>*)bs-&gt;buf + (bs-&gt;bufLen * idx));<br><br>发现原来SQLCHAR类型没有找到，没问题，找到_db2_module.c:1855行修改为：<br>SQLPOINTER buf = (SQLPOINTER)((void *)bs-&gt;buf +<br>(bs-&gt;bufLen * idx)); <br>再次 setup.py install<br>ok，编译成功，db2.py的模块也被拷贝得到 $PYTHONHOME/lib/site_pakages/下去了<br>然后安装db2 client runtime<br>这样就完成了pydb2的运行配置。然后就在odbc中配置一个dsn<br>测试以下代码：<br><br>import DB2<br>conn = DB2.connect(dsn='sample', uid='db2inst1', pwd='secret')<br>无异常表示成功连接上DB2<br>之后访问数据库只要遵循python DBI2.0的规范就可以拉！<br>生活在python世界是很快乐的事情！<br><br>*注意: python2.4的话必须用vc7.1编译pydb2的扩展模块，因为python2.4(win32)也是用vc7.1编译的<br><br><br><br><img src ="http://www.cppblog.com/socketref/aggbug/55281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-07-04 01:28 <a href="http://www.cppblog.com/socketref/archive/2008/07/04/55281.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cron介绍</title><link>http://www.cppblog.com/socketref/archive/2008/07/04/55280.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Thu, 03 Jul 2008 17:25:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/07/04/55280.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/55280.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/07/04/55280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/55280.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/55280.html</trackback:ping><description><![CDATA[/sbin/service crond start &nbsp;&nbsp;&nbsp; //启动服务<br>/sbin/service crond stop &nbsp;&nbsp;&nbsp; //关闭服务<br>/sbin/service crond restart //重启服务<br>/sbin/service crond reload &nbsp;&nbsp;&nbsp; //重新载入配置<br><br>在/etc/rc.d/rc.local这个脚本的末尾加上：<br>/sbin/service crond start<br><br><br>1.直接用crontab命令编辑<br>cron服务提供crontab命令来设定cron服务的，以下是这个命令的一些参数与说明：<br>crontab -u //设定某个用户的cron服务，一般root用户在执行这个命令的时候需要此参数<br><br>crontab -l //列出某个用户cron服务的详细内容<br><br>crontab -r //删除没个用户的cron服务<br><br>crontab -e //编辑某个用户的cron服务<br><br>比如说root查看自己的cron设置：crontab -u root -l<br><br>再例如，root想删除fred的cron设置：crontab -u fred -r<br><br>在编辑cron服务时，编辑的内容有一些格式和约定，输入：crontab -u root -e<br><br>进入vi编辑模式，编辑的内容一定要符合下面的格式：*/1 * * * * ls &gt;&gt; /tmp/ls.txt<br><br>时间的设定我们有一定的约定，前面五个*号代表五个数字，数字的取值范围和含义如下：<br>分钟　（0-59）<br>小時　（0-23）<br>日期　（1-31）<br>月份　（1-12）<br>星期　（0-6）//0代表星期天<br><br>除了数字还有几个个特殊的符号就是"*"、"/"和"-"、","，*代表所有的取值范围内的数字，"/"代表每的意思,"*/5"表示每5个单位，"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题：<br><br>每天早上6点<br><br>0 6 * * * echo "Good morning." &gt;&gt; /tmp/test.txt //注意单纯echo，从屏幕上看不到任何输出，因为cron把任何输出都email到root的信箱了。<br><br>每两个小时<br><br>0 */2 * * * echo "Have a break now." &gt;&gt; /tmp/test.txt<br><br>晚上11点到早上8点之间每两个小时，早上八点<br><br>0 23-7/2，8 * * * echo "Have a good dream：）" &gt;&gt; /tmp/test.txt<br><br>每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点<br><br>0 11 4 * 1-3 command line<br><br>1月1日早上4点<br><br>0 4 1 1 * command line<br><br>每次编辑完某个用户的cron设置后，cron自动在/var/spool/cron下生成一个与此用户同名的文件，此用户的cron信息都记录在这个文件中，这个文件是不可以直接编辑的，只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件，检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。<br><br>2.编辑/etc/crontab 文件配置cron<br><br>cron 服务每分钟不仅要读一次/var/spool/cron内的所有文件，还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的，而编辑/etc/crontab是针对系统的任务。此文件的文件格式是：<br><br>SHELL=/bin/bash<br>PATH=/sbin:/bin:/usr/sbin:/usr/bin<br>MAILTO=root //如果出现错误，或者有数据输出，数据作为邮件发给这个帐号<br>HOME=/ //使用者运行的路径,这里是根目录<br># run-parts<br>01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本<br>02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本<br>22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本<br>42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本<br><br><br><img src ="http://www.cppblog.com/socketref/aggbug/55280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-07-04 01:25 <a href="http://www.cppblog.com/socketref/archive/2008/07/04/55280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【Linux Kernel】 读码时写的一些笔记，毕竟写给自己看，有些乱（好好理解kernel，能更好写出高效的驱动和应用代码）</title><link>http://www.cppblog.com/socketref/archive/2008/07/04/55271.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Thu, 03 Jul 2008 17:11:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/07/04/55271.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/55271.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/07/04/55271.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/55271.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/55271.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->bh处理1.三种旧式的bottom half 处理类型IMMEDIATE_BH:&nbsp; driver注册入tq_immediate队列，等待调度TQUEUE_BH: &nbsp;&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/socketref/archive/2008/07/04/55271.html'>阅读全文</a><img src ="http://www.cppblog.com/socketref/aggbug/55271.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-07-04 01:11 <a href="http://www.cppblog.com/socketref/archive/2008/07/04/55271.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天去the9.com面试，一些考题，一些想法</title><link>http://www.cppblog.com/socketref/archive/2008/05/06/49040.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Tue, 06 May 2008 12:16:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/05/06/49040.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/49040.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/05/06/49040.html#Feedback</comments><slash:comments>52</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/49040.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/49040.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 昨天接到the9的人事mm的电话通知今天去公司面试，职位大概是开发岗位<br>这些年来也一直没有面试的经历，闲在家里没事所以今天就去看看。<br>the9.com =&gt;张江高科技园区碧波路690号3号楼,google了一下具体位置，带了个导航仪开着桑哥走了。<br>外环比较拥挤，25公里开了45分钟便到了碧波路，一个大拐就进了690号，接着一个小拐又一个大拐，直接将车停就进了车位，"技术不错,可以打9.9分"。<br>&nbsp;&nbsp;&nbsp; the9也算是有点财力和规模，整个一片都是the9公司。<br>刚想推门下车，一个保安马上上来，我想这个服务到是周到。"先生，这里不能停车，这是我们老板的车位". 奶奶的，确实边上不是BMW就是A6之类的车子，仔细一看，确实车位上都有具体的车牌。一不小心把车停到the9老板 家了。接着就倒车，7拐八拐 找了个日光浴的位置。<br>来到the9的前台，说是要做题，领了份考卷就去2号会议室。<br>&nbsp;&nbsp;&nbsp; 里面有2人，各一男女，没多时便走了，过了半小时又进来一位做题，看上去比我是年轻多了。<br>开始做题，好久没被面试了，有点兴奋。某些题目回答的太细且考虑过多，磨磨蹭蹭也搞了一个小时，看了下钟点15:30了。<br>接着等人来捞我去谈，等了30分钟也没人来，所以就踱到前台交予前台mm(长得不错哦)。然后我继续等，约莫20来分钟mm叫我，我便跟一个叫陈国*的Man去面试，陈**带我绕了几条走廊，那个走路的速度真是超级的慢，居然是我走在他前面，有点受不了。<br>&nbsp;&nbsp;&nbsp; 进了一会议室，陈**不知为何一下子没开口，瞬即拿出笔在白板上写了起来。<br>&nbsp;&nbsp;&nbsp; "你现在做个题目哦，题目是这样的:1000~10000里面的4位平方数你给我找出来，数字的规则是 abcd, a=b c=d,我现在有个其他面试，过5分钟我再来"，奶奶的，居然还让我做题，而且是这种小学生做的题目。说完陈Man就走了，真是来气，起来我也转身离开了the.com。<br>做了这么些年的开发，本来以为面试会跟我聊一下系统的架构，opensource，通信技巧，看了我的简历也不应该当成应届毕业生来对待啊，一些考官就是喜欢在面试过程中夹杂一些自己的小聪明搞一些旁门做到的东西，想想过去我做考官也不是这个样子的，还是比较对人尊重的，这么大的一个公司让面试的人左等右等，感觉这是不这么的好。<br>&nbsp;&nbsp;&nbsp; 记得一个mm说的好，说是老板与员工不存在地位的差别，雇佣和被雇工是建立在平等的基础上的合作关系。<br>&nbsp;&nbsp;&nbsp; 想到了 盖茨关于他的车位总是被员工占用，及员工总是跟盖茨借钱的故事；想到了以前一位博士领导整天给老总安装office的事情<br>&nbsp;&nbsp;&nbsp; 中国人骨子里还是比较官僚的，阶级感比较强烈，老板永远是老板，是上帝，打工的就是一条狗。<br>&nbsp;&nbsp;&nbsp; 不过我对狗这个字眼不感冒，我就是一条狗，但是是条有尊严的狗。<br>&nbsp;&nbsp;&nbsp; the9对其现在不这么感兴趣了，林子大了啥鸟都有，还是老实在家呆着。<br>&nbsp;&nbsp;&nbsp; the9的考题对于开发者的还是有点用的，凭着有点记忆的脑子回想一下考题，大致如下: <br><br>1.是非题: 10题&nbsp; 具体记不清楚了<br>2.解释: <br>&nbsp;&nbsp;&nbsp; const 的作用（2种以上)<br>&nbsp;&nbsp;&nbsp; 数据与链表的差异和作用 <br>&nbsp;&nbsp;&nbsp; 纯虚函数，重载的区别和作用<br><br>3.改错并解释: <br>&nbsp; 1. void getmemory( char * p){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = new char[20];<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp; main(){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  char *str;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;  getmemory(str);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; strcpy(str,"hello");<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; 2. char * getmemory(){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  char buf[]="ssssssssssssssss";<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  return buf;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; main(){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  sprintf(buf,"%d",100);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  printf( buf);<br>&nbsp;&nbsp;&nbsp; }<br><br>4.编写函数: <br>&nbsp;&nbsp;&nbsp; 1. strcmp<br>&nbsp;&nbsp;&nbsp; int strcmp( char * s1,char * s2 ){<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; 2. strstr<br>&nbsp;&nbsp;&nbsp; // return pointer if s2 found in s1,else return NULL<br>&nbsp;&nbsp;&nbsp; char * strstr(char* s1,char* s2){<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp; &nbsp; 3. void compress(char * in,char * out)<br>&nbsp;&nbsp;&nbsp; 要求:&nbsp; &nbsp;&nbsp;  <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; in&nbsp;&nbsp; &nbsp; &nbsp;  &nbsp;&nbsp;  out<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp; abc&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  abc<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  aaabbbccc&nbsp;&nbsp;  &nbsp; a2b2c2<br><br>&nbsp;&nbsp;&nbsp; 5. 实现以下类成员函数并解释<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; class String(){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  String(char* s=NULL);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  String( const String &amp; other);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  String &amp; operator+=(const String &amp;other);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  bool operator==(const String &amp; other );<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  operator double();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; 6. 链表倒置<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  struct listNode{<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; struct listNode * next;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  int data;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;  <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 返回列表头节点<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; listNode * reverse(listNode * head){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <br>这些题基本上是能考核一个c/cpp开发人员的基本技术能力的<br><br>  <img src ="http://www.cppblog.com/socketref/aggbug/49040.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-05-06 20:16 <a href="http://www.cppblog.com/socketref/archive/2008/05/06/49040.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>随便写个strcmp()函数，看看大家能否有更简洁的实现</title><link>http://www.cppblog.com/socketref/archive/2008/05/05/48844.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Sun, 04 May 2008 18:57:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/05/05/48844.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/48844.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/05/05/48844.html#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/48844.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/48844.html</trackback:ping><description><![CDATA[<br>return true if equal<br><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #000000;">bool&nbsp;</span><span style="color: #008080;">strcmp</span><span style="color: #000000;">(&nbsp;char</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;d</span><span style="color: #000000;">,</span><span style="color: #000000;">char&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;s){<br></span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;d</span><span style="color: #000000;">==</span><span style="color: #000000;">s)&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br></span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">d</span><span style="color: #000000;">==*</span><span style="color: #000000;">s&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">d&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">s){<br></span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d</span><span style="color: #000000;">++</span><span style="color: #000000;">;s</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br></span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">d</span><span style="color: #000000;">==*</span><span style="color: #000000;">s&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">d</span><span style="color: #000000;">==</span><span style="color: #000000;">0</span><span style="color: #000000;">){<br></span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br></span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br></span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">}</span></div>
<br><br> <img src ="http://www.cppblog.com/socketref/aggbug/48844.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-05-05 02:57 <a href="http://www.cppblog.com/socketref/archive/2008/05/05/48844.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tinyRpc 基于tcp/xml的rpc服务器 [dev...]</title><link>http://www.cppblog.com/socketref/archive/2006/01/02/2352.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Sun, 01 Jan 2006 16:52:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2006/01/02/2352.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/2352.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2006/01/02/2352.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/2352.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/2352.html</trackback:ping><description><![CDATA[<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参阅 <A href="http://www.xmlrpc.org">www.xmlrpc.org</A>&nbsp;的xmlrpc规范，发现其规格比较简单，网站list top50中xmlrpc的不同语言的实现，研究了xmlrpc-c,sexyRcp,phpRpc等代码，发现其都实现比较复杂，有些只是提供了xmlrpc的语言规格实现，但没有实现网络传输的功能。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;由于xmlrpc规范的网络传输采用http，一个请求必须创建一次tcp的交互，导致性能上得不到提高，而且只是单向调用等限制，我考虑重新编写xmlrpc的实现，提供xmlrpc-server,简化其操作接口,支持在客户机和服务器之间保持一个tcp连接，持续的进行xmlrpc双向调用.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;支持语言:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C++ / Python<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;计划时间:&nbsp;&nbsp;&nbsp;2005.12.31&nbsp;&nbsp;&nbsp;&nbsp;~ 2006.1.3<BR><BR>2006.1.4&nbsp;&nbsp;&nbsp;&nbsp;完成rpcServer c++版本</P><img src ="http://www.cppblog.com/socketref/aggbug/2352.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2006-01-02 00:52 <a href="http://www.cppblog.com/socketref/archive/2006/01/02/2352.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>短小的日志类</title><link>http://www.cppblog.com/socketref/archive/2005/12/11/1683.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Sun, 11 Dec 2005 12:31:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2005/12/11/1683.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/1683.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2005/12/11/1683.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/1683.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/1683.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本人一直使用的日志类，支持3种输出方式(windows窗体，udp，常规文件),并格式化输出：&nbsp;&nbsp;1&nbsp;&nbsp;2/**//*&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;nvlog.h&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;----------------&nbsp;&nbsp;5&nbsp;&nb...&nbsp;&nbsp;<a href='http://www.cppblog.com/socketref/archive/2005/12/11/1683.html'>阅读全文</a><img src ="http://www.cppblog.com/socketref/aggbug/1683.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2005-12-11 20:31 <a href="http://www.cppblog.com/socketref/archive/2005/12/11/1683.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>