01 2012 档案

摘要:本文目的使用gmock时,有时候需要向被mock的函数输入一些自定以参数,用来测试调用mock的方法的各种的执行情况。前几天在项目中遇到这个问题,并使用了该技巧,觉得很有用,所以总结出来,作为备忘。一个例子XXXClient是一个类,用于和远端服务器交互,内部实现涉及网络通讯。class XXXClient {public: void QueryXXX(const Request&, Response&);}; 内部有个函数QueryXXX,用于执行查询操作。查询的响应对象通过引用的方式传回给调用对象,避免不必要的对象拷贝。现在有个类,会调用XXXClient::QueryXX 阅读全文
posted @ 2012-01-20 08:51 bourneli 阅读(13758) 评论(0) 推荐(0) 编辑
摘要:本文目的介绍工作中常见字符编码,主要涉及ASNI,GB2312,GBK,Unicode,UTF8。对于网页上的中文乱码现象,具有参考价值。分享工作中遇到的中文乱码现象和解决方案介绍如何使用iconv字符编码转换工具和一个简单的iconv.h的C++ wrapper常见编码介绍格式特征描述ANSII单字节,范围0-127可以描述所有的英文字母,阿拉伯数字,常用符号和控制符(回车,换行等)ANSII 扩展字符集单字节,范围128-255包括了一些不常用的字符,比如画表格时需要用下到的横线、竖线、交叉等形状。它是ANSII的扩展。GB2312双字节,高位字节(第一个)范围:0xA1 ~ 0xF7, 阅读全文
posted @ 2012-01-18 13:27 bourneli 阅读(11870) 评论(0) 推荐(1) 编辑
摘要:采用libevent2将输入的字符变成大写,然后在返回去,代码如下/* For sockaddr_in */#include <netinet/in.h>/* For socket functions */#include <sys/socket.h>/* For fcntl */#include <fcntl.h>#include <event2/event.h>#include <event2/buffer.h>#include <event2/bufferevent.h>#include <assert.h&g 阅读全文
posted @ 2012-01-06 20:41 bourneli 阅读(2740) 评论(0) 推荐(1) 编辑
摘要:堵塞(Blocking) Non-blocking(非堵塞) 同步(Synchronous) Read/Write Read/Write(O_NONBLOCK) 异步(Asynchronous) I/O multiplexing(... 阅读全文
posted @ 2012-01-03 19:43 bourneli 阅读(176) 评论(0) 推荐(0) 编辑