随笔分类 -  C++

摘要:Redis常用数据类型介绍、使用场景及其操作命令 阅读全文
posted @ 2016-03-26 14:33 lizhenghn 阅读(67515) 评论(4) 推荐(8) 编辑
摘要:本文章也同时发表在个人博客 "Thrift在Windows及Linux平台下的安装和使用示例" 上。 thrift介绍 Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的RPC(远程服务调用)框架。 本文主要目的是分别介绍在Windows及Linux平台下的Thr 阅读全文
posted @ 2016-03-06 13:48 lizhenghn 阅读(8660) 评论(0) 推荐(2) 编辑
摘要:本文章同时发在 "cpper.info" 。 1. websocket是什么Websocket是html5提出的一个协议规范,参考rfc6455。websocket约定了一个通信的规范,通过一个握手的机制,客户端(浏览器)和服务器(webserver)之间能建立一个类似tcp的连接,从而方便c-s之... 阅读全文
posted @ 2016-01-24 21:04 lizhenghn 阅读(47259) 评论(11) 推荐(8) 编辑
摘要:本文介绍了设计模式中的五种创建型设计模式,分别是单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式,本文参考自GOF名著 阅读全文
posted @ 2016-01-16 17:34 lizhenghn 阅读(8545) 评论(0) 推荐(0) 编辑
摘要:本文同步发在: " http://cpper.info/2016/01/05/Two Points Of Oriented Object.html " 。 总览 在工作初期,我们可能会经常会有这样的感觉,自己的代码接口设计混乱、代码耦合较为严重、一个类的代码过多等等,自己回头看的时候都觉得汗颜。再看... 阅读全文
posted @ 2016-01-08 21:01 lizhenghn 阅读(1130) 评论(0) 推荐(1) 编辑
摘要:原文链接:http://www.ibm.com/developerworks/cn/linux/l-hisock.html使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信。与其他 API 一样,您可以通... 阅读全文
posted @ 2014-10-24 13:25 lizhenghn 阅读(5027) 评论(0) 推荐(1) 编辑
摘要:说明:无意看到一篇小短文,猜测作者应该是一个图形学领域的程序员或专家,介绍了在光线(射线)追踪程序中是如何优化C/C++代码的。倒也有一些参考意义,当然有的地方我并不赞同或者说我也不完全理解,原文在此,我的粗糙翻译如下:1. 牢记Ahmdal定律 funccost表... 阅读全文
posted @ 2014-09-13 10:27 lizhenghn 阅读(6572) 评论(8) 推荐(4) 编辑
摘要:在Linux系统下开发一个较大的项目,完全手动建立Makefile是一件费力而又容易出错的工作。autotools系列工具只需用户输入简单的目标文件、依赖文件、文件目录等就可以比较轻松地生成Makefile了。这极大地简化了Makefile的编写和维护,作者也是刚体验到其威力,所以将其过程记录下来。... 阅读全文
posted @ 2014-08-22 19:08 lizhenghn 阅读(4708) 评论(2) 推荐(0) 编辑
摘要:前段时间刚试用了一个序列化工具cereal,请看cereal:C++实现的开源序列化库,打算再总结下我对google proto buf序列化库的使用呢,结果还没动手,大Google又出了一个新的、开源、跨平台的序列化工具:FlatBuffers。那就索性先了解了解这个工具把。一. 什么是Googl... 阅读全文
posted @ 2014-07-18 20:37 lizhenghn 阅读(12053) 评论(7) 推荐(1) 编辑
摘要:闲来无事发现了一个基于C++实现的序列化工具,相比于其他(比如Boost serialization或Google protobuf,恰巧都用过,以后再介绍),使用简单,感觉不错,下面做个摸索。cereal介绍cereal是一个开源的(BSD License)、轻量级的、支持C++11特性的、仅仅包... 阅读全文
posted @ 2014-06-01 00:57 lizhenghn 阅读(12957) 评论(4) 推荐(4) 编辑
摘要:现在很多语言都内置了线程池实现,但C++中却没有。本文列举一些C++实现的线程池工具。Boost.Threadpool 项目首页:http://threadpool.sourceforge.net Boost.Threadpool是一个基于Boost、跨平台的C++线程池库。Boost.Th... 阅读全文
posted @ 2014-05-20 22:31 lizhenghn 阅读(6075) 评论(4) 推荐(2) 编辑
摘要:这篇文章是我翻译自Top 10 tips for code porting c/c++的一篇小短文,以下是翻译全文,如有错误请留言或查阅原文。 代码的可移植性基本上是指使得源代码能够在不同的平台上编译,而不需要源代码进行任何修改。 在脑海里我们知道为保持移植性而编写代码对是重要的。引入代码可... 阅读全文
posted @ 2014-05-11 16:38 lizhenghn 阅读(4605) 评论(2) 推荐(1) 编辑
摘要:在前面对glog分别做了两次学习,请看C++的开源跨平台日志库glog学习研究(一)、C++的开源跨平台日志库glog学习研究(二)--宏的使用,这篇再做个扫尾工作,算是基本完成了。编译期断言动态断言在调试过程中是一个很重要的手段,而且我们使用的也比较多。相应的,静态断言,也即是编译期断言随着模板编... 阅读全文
posted @ 2014-05-10 14:10 lizhenghn 阅读(3187) 评论(4) 推荐(2) 编辑
摘要:上一篇从整个工程上简单分析了glog,请看C++的开源跨平台日志库glog学习研究(一),这一篇对glog的实现代码入手,比如在其源码中以宏的使用最为广泛,接下来就先对各种宏的使用做一简单分析。1. 日志输出宏这里我们以一条最简单的日至输出为例说明:LOG(WARNING) stream_;}dat... 阅读全文
posted @ 2014-05-03 18:45 lizhenghn 阅读(12158) 评论(3) 推荐(1) 编辑
摘要:作为C++领域中为数不多的好用、高效的、跨平台的日志工具,Google的开源日志库glog也算是凤毛麟角了。glog 是一个C++实现的应用级日志记录框架,提供了C++风格的流操作。恰巧趁着五一我也学习研究了这个glog库,写个总结如下。走过路过的的各位牛人、高手可以忽略这篇文章了。从code.go... 阅读全文
posted @ 2014-05-03 01:55 lizhenghn 阅读(7779) 评论(6) 推荐(2) 编辑
摘要:C++基本没有正则表达式功能,当然像Boost里提供了正则。本文来源于博客园园友的一篇文章,请看:C/C++ 字符串模糊匹配很早之前就看过这篇文章,原作者的需求很明确、代码实现也很好。之所以又写这篇文章,是因为原作者只介绍了在Linux系统下直接调用系统函数fnmatch即可实现,而没有考虑在Win... 阅读全文
posted @ 2014-05-01 00:13 lizhenghn 阅读(10154) 评论(0) 推荐(1) 编辑
摘要:我们有很多时候需要使用中文编码格式,比如gbk、gb2312等,但是因为主要针对中文编码设置,因此并不完全通用,这样一来就有了在各编码间相互转换的需求,比如和UTF8的转换。可是在我使用的过程中,却发现编码转换并没有想象中的简单,或者说可能会出错,即使你使用的系统API。我在使用中,产生一些疑... 阅读全文
posted @ 2014-04-25 23:47 lizhenghn 阅读(32494) 评论(12) 推荐(5) 编辑
摘要:在学习第一门编程语言时,就已经介绍了顺序分支、条件分支、循环分支。比如循环分支有for、while、do-while语句。在随后的学校及工作中,如果手工循环一般使用for、while,很少使用do-while,感觉用处不大,但现在看来,do-while大有用途。1. 帮助定义复杂的宏以避免错误举例来... 阅读全文
posted @ 2014-04-19 01:05 lizhenghn 阅读(11207) 评论(10) 推荐(10) 编辑
摘要:今天的C++已经是个多重泛型编程语言(multiparadigm programming lauguage),一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogram... 阅读全文
posted @ 2014-04-15 23:36 lizhenghn 阅读(22882) 评论(0) 推荐(9) 编辑
摘要:C++ 一直为人诟病之一的原因是他的二进制模块兼容性不好,即ABI(Application Binary Interface)问题。对于同一源代码,不同编译器,甚至同一编译器不同版本都不兼容,其编译出来的ABI不能相互使用。比如其中一个ABI问题是为了支持函数重载,C++使用了Name Mangli... 阅读全文
posted @ 2014-04-13 00:03 lizhenghn 阅读(3865) 评论(0) 推荐(2) 编辑

无觅关联推荐,快速提升流量