wu

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年3月15日

摘要: 转载( http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/?ca=drs-tp4608)简介:Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Pro 阅读全文
posted @ 2012-03-15 17:13 butterflydog 阅读(160) 评论(0) 推荐(0) 编辑

2012年3月11日

摘要: Linux下Daemon进程示例。将进程ID写入到文件中,并对文件加锁,确保只有一个daemon进程在运行。此外,有信号处理函数示例。(备注:参考大名鼎鼎的 APUE中示例,整理而出 :))#include <iostream> using namespace std; //TO BE ADDED #include <fcntl.h> #include <errno.h> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <sign 阅读全文
posted @ 2012-03-11 20:58 butterflydog 阅读(203) 评论(0) 推荐(0) 编辑

2012年3月10日

摘要: #include <iostream> #include <string> #include <errno.h> #include <iconv.h> using namespace std; //Linux下 GB2312和UTF8转换接口 class CUtilTools { public: CUtilTools(){}; ~CUtilTools(){}; //iInLen的长度不包括\0,应该用strlen。返回值是处理后的sOut长度 static int Utf8ToGb2312(char *sOut, int iMaxOutLen,. 阅读全文
posted @ 2012-03-10 16:23 butterflydog 阅读(632) 评论(0) 推荐(0) 编辑

2012年2月26日

摘要: 1.2The most important thing to do when learning C++ is to focus on concepts and not get lost inlanguage-technical details.The difference between C and C++ is primarily in the degree of emphasis on types and struc-ture. C is expressive and permissive. C++ is even more expressive.1.3A programming lang 阅读全文
posted @ 2012-02-26 21:29 butterflydog 阅读(183) 评论(0) 推荐(0) 编辑

2011年12月21日

摘要: 遇到一个问题:要将一个指定长度的char数组的图片数据通过网络传输,但是所使用的网络数据协议是字符类型的。所以char图片数组里有可能含有\0等字符,会影响到数据的解码。这是就用到了Base64算法。先来看一下Base64的介绍(http://zh.wikipedia.org/wiki/Base64)在MIME格式的电子邮件中,base64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本。使用时,在传输编码方式中指定base64。使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符,等号“=”用来作为后缀用途。完整的base64定义可 阅读全文
posted @ 2011-12-21 14:06 butterflydog 阅读(227) 评论(0) 推荐(0) 编辑

2011年11月23日

摘要: 1. 从http://code.google.com/p/googletest/ 下载最新的安装文件,我的是gtest-1.6.0.zip 2. 解压: unzip gtest-1.6.0.zip 3. 安装使用: 从1.5.0版本开始,放弃使用make install,来安装。我们可以根据README文件里的内容来了解安装方法。 快速开始:进入make目录,直接make,看到生成了sample1_unittest文件,执行一下看看结果吧! 在samples文件夹下有一些示例,耐心看一下,很容易就学会使用了。4. 附录:我的测试环境 在我的用户目录建立文件夹:gtest_dir,将gtest安 阅读全文
posted @ 2011-11-23 17:20 butterflydog 阅读(582) 评论(0) 推荐(0) 编辑

2011年6月6日

摘要: MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0最近对这三个webserver进行学习,总结一下他们各自在Ubuntu10.04LTS下的安装配置。一、Apache1.官网下载httpd-2.2.17.tar.bz22.官方说明文档里有详细的编译安装过程,摘录如下(部分做了修改)解压 $tarxvfhttpd-2.2.17.tar$cdhttpd-2.2.17配置 $./configure--prefix=PREFIX编译 $make安装 $makeinstall配置 $viPREFIX/conf/httpd.conf测试 $ 阅读全文
posted @ 2011-06-06 17:04 butterflydog 阅读(159) 评论(0) 推荐(0) 编辑

2011年5月2日

摘要: 感谢冯·诺依曼先生。是他整出了世界上的第一台计算机,才使得我们这些后人鸟枪换炮,由"剪刀加糨糊"的"学术土匪"晋级为"鼠标加剪贴板"的"学术海盗"。 感谢比尔·盖茨先生。他以大无畏的英雄主义精神和牺牲主义精神毅然从哈佛辍学,将人类的历史推进到了信息时代。在信息的高速路上我们畅通无阻,正是借助了网络我们才得以找到了丰富翔实的论文、资料。可以说,比尔.盖茨先生以他的辍学换来了我们几百万中国大学生的毕业。 感谢百度和Google公司。他们的搜索功能庞大、快捷又免费,让我们很方便地搜索到了我们所需要的& 阅读全文
posted @ 2011-05-02 21:27 butterflydog 阅读(199) 评论(0) 推荐(0) 编辑

2011年4月27日

摘要: (关于#define的用法,看这里 http://www.cppblog.com/kenny/archive/2011/04/26/145087.html)#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #xx##y表示什么?表示x连接y,举例说:int n = Conn(123,456); 结果就是n=123456;char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";再来看#@x,其实就是给x加上单引号, 阅读全文
posted @ 2011-04-27 19:41 butterflydog 阅读(509) 评论(0) 推荐(0) 编辑

2011年3月11日

摘要: MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0VMwareWorkstation提供三种基本的网络连接模式:bridged,networkaddresstranslation(NAT),host-onlynetworking,此外,还允许用户自定义的网络设置。下面就这三种基本的网络连接模式和一些常用的术语进行一些说明,这些说明是从VMwareWorkstation(版本为7.0.1build-227600)的帮助文件中翻译而来,英文原文请参考其帮助文件ConfiguringaVirtualNetwork的CommonNetw 阅读全文
posted @ 2011-03-11 21:06 butterflydog 阅读(291) 评论(0) 推荐(0) 编辑