随笔分类 - Windows
摘要:闲来无事发现了一个基于C++实现的序列化工具,相比于其他(比如Boost serialization或Google protobuf,恰巧都用过,以后再介绍),使用简单,感觉不错,下面做个摸索。cereal介绍cereal是一个开源的(BSD License)、轻量级的、支持C++11特性的、仅仅包...
阅读全文
摘要:现在很多语言都内置了线程池实现,但C++中却没有。本文列举一些C++实现的线程池工具。Boost.Threadpool 项目首页:http://threadpool.sourceforge.net Boost.Threadpool是一个基于Boost、跨平台的C++线程池库。Boost.Th...
阅读全文
摘要:上一篇从整个工程上简单分析了glog,请看C++的开源跨平台日志库glog学习研究(一),这一篇对glog的实现代码入手,比如在其源码中以宏的使用最为广泛,接下来就先对各种宏的使用做一简单分析。1. 日志输出宏这里我们以一条最简单的日至输出为例说明:LOG(WARNING) stream_;}dat...
阅读全文
摘要:作为C++领域中为数不多的好用、高效的、跨平台的日志工具,Google的开源日志库glog也算是凤毛麟角了。glog 是一个C++实现的应用级日志记录框架,提供了C++风格的流操作。恰巧趁着五一我也学习研究了这个glog库,写个总结如下。走过路过的的各位牛人、高手可以忽略这篇文章了。从code.go...
阅读全文
摘要:C++基本没有正则表达式功能,当然像Boost里提供了正则。本文来源于博客园园友的一篇文章,请看:C/C++ 字符串模糊匹配很早之前就看过这篇文章,原作者的需求很明确、代码实现也很好。之所以又写这篇文章,是因为原作者只介绍了在Linux系统下直接调用系统函数fnmatch即可实现,而没有考虑在Win...
阅读全文
摘要:我们有很多时候需要使用中文编码格式,比如gbk、gb2312等,但是因为主要针对中文编码设置,因此并不完全通用,这样一来就有了在各编码间相互转换的需求,比如和UTF8的转换。可是在我使用的过程中,却发现编码转换并没有想象中的简单,或者说可能会出错,即使你使用的系统API。我在使用中,产生一些疑...
阅读全文
摘要:今天的C++已经是个多重泛型编程语言(multiparadigm programming lauguage),一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogram...
阅读全文
摘要:C++ 一直为人诟病之一的原因是他的二进制模块兼容性不好,即ABI(Application Binary Interface)问题。对于同一源代码,不同编译器,甚至同一编译器不同版本都不兼容,其编译出来的ABI不能相互使用。比如其中一个ABI问题是为了支持函数重载,C++使用了Name Mangli...
阅读全文
摘要:本文对Windows及Linux平台下常用的计时函数进行总结,包括精度为秒、毫秒、微秒三种精度的各种函数。比如Window平台下特有的Windows API函数GetTickCount()、timeGetTime()、及QueryPerformanceCounter(),Linux平台下特有的get...
阅读全文