boost
Max_Cong
这个作者很懒,什么都没留下…
展开
-
只知道google protocol buffer?Boost serialize 可以更好解决STL序列化 反序列化 附小例子
一提到序列化 反序列化, 很多人第一印象就是大名鼎鼎的google procotol buffer。但是运用PB,我们会遇到一些尴尬,PB只支持一些基本的数据类型。如果我要传输的是Map,List,Set等类型。我们就要额外的写一些函数做转换。对于这个问题,boost::serialization库可以很好的解决。能够“Map进Map出”。boost::serializatio原创 2017-02-27 19:31:51 · 663 阅读 · 0 评论 -
boost log -- 使用心得和碰到的那些坑(三)
为什么有这篇文章(what)前面曾经写过两篇文章关于boost::logger的。 当时只是想学习一下怎么使用boost::logger。 前两天再次看到这个rep。想再完善一下这个rep, 用这篇文章记录一下过程和想法。原来的rep有什么缺陷?(why)在生产实践中,作为调试需求, log功能可能会被频繁的调用。原来的rep每次调用以后,虽然不会写到boost::log中,但是都已经组装...原创 2019-06-03 08:47:39 · 2322 阅读 · 0 评论 -
对于线程间传递消息的一些想法 -- 智能指针+lambda caputre(封装task)
背景最近公司开源了一个redis client,header only,项目地址: https://github.com/nokia/wiredis 。 作为公司build-block redis clinet 的维护者。 和作者聊了聊这个项目的想法和road map。 同时也提了一点建议,其中有个建议就是这篇文章要写的。这个项目是header only的,所以文件很少,层次很清晰。主要有连个...原创 2018-12-09 09:35:44 · 1029 阅读 · 0 评论 -
C++ 异步编程探索(二) thread safe
前言在异步编程实践中,曾经遇到的最大的问题就是thread safe 问题。我所在的团队是Database团队,主要是为APP提供和redis交互的API。场景就是application thread调用我们的API。我们有个worker thread负责网络I/O。我们的API基于hiredis,hiredis声明自己不是thread-safe。这也很正常,看了看hireids的代码,关于...原创 2018-11-02 09:23:33 · 963 阅读 · 0 评论 -
C++ 异步编程探索(一) task链式调度 -- future CONTINUATION
同步Vs异步编程, 一直是大家讨论的热点。 同步编程以其逻辑简单,受到了一些对时间不敏感的程序青睐,而异步编程以其高效深受处女座程序员喜爱。作为一只处女座程序猿,当然要异步异步异步。。。说到异步, C++11之前, 用的最多的就是各种callback function。举个例子, 假如你是一个老板,告诉自己的秘书把文件打印出来,打完了送给我。然后你就可以干别的活,等打印好了,秘书会到你的办公室...原创 2018-10-31 11:18:47 · 3259 阅读 · 0 评论 -
boost log -- 使用心得和碰到的那些坑(二)
前一篇文章boost log – 使用心得和碰到的那些坑(一) 写了如何使用boost;;log, 这篇文章主要写写怎样用boost;;log构建一个工程,目的就是让用户使用时忘掉log细节。项目依赖boost c++11 cmake设计为了以后扩展方便,将log设计成接口。 接口提供基本的log功能:class logger_iface{ public: public: l...原创 2018-10-21 07:20:29 · 2640 阅读 · 0 评论 -
boost log -- 使用心得和碰到的那些坑(一)
boost log -- 使用心得和碰到的那些坑定义日志记录 Log record属性 attribute属性值(属性)值访问(属性)值提取Log sink日志源Log source日志过滤器Log filter日志格式化工具Log formatter日志核心Logging core国际化 i18n线程本地存储 TLS实时类型信息RTTI实现日志源属性和属性值日志核心和过滤实现需求减少对程序运行...原创 2018-10-19 14:06:32 · 12601 阅读 · 1 评论 -
深入理解 boost::bind
Asynchronous operations in Asio all expect a function object argument, the completion handler, which they invoke when the asynchronous operation completes. The signature of the handler depends on the转载 2017-10-30 14:49:20 · 909 阅读 · 0 评论 -
how to print function backtrack with boost
How to print current call stackboost::stacktrace::stacktrace contains methods for working with call-stack/backtraces/stacktraces. Here's a small example: #include boost/stacktrace.hpp>// ...原创 2017-08-27 08:32:00 · 911 阅读 · 0 评论 -
boost deadline_timer
linkdeadline_timer和socket一样,都用io_service作为构造函数的参数。也即,在其上进行异步操作,都将导致和io_service所包含的iocp相关联。这同样意味着在析构 io_service之前,必须析构关联在这个io_service上的deadline_timer。1. 构造函数在构造deadline_timer时指定时间。[cpp] v转载 2017-07-26 16:17:42 · 620 阅读 · 0 评论 -
boost serialization 序列化/反序列化 详细用法
##原文http://zh.highscore.de/cpp/boost/serialization.html第 11 章 序列化目录11.1 概述11.2 归档11.3 指针和引用11.4 对象类层次结构的序列化11.5 优化用封装函数11.6 练习 该书采用Creative Commons License 授权11.1. 概述Boos转载 2017-06-13 16:36:57 · 6832 阅读 · 1 评论 -
boost 单元测试
原文:http://www.jianshu.com/p/9a87918023fb基本概念Boost test库提供了一个用于单元测试的基于命令行界面的测试套件UTF:Unit Test Framework,具有单元测试、检测内存泄露、监控程序运行的功能。测试模块测试安装测试主体:测试主体是测试的模块的实际运行部分,由测试用例和测试套件组成的测试树形成测试清理测试运行器测转载 2017-06-11 09:37:00 · 874 阅读 · 0 评论 -
boost -- program_options
program_options 是一个实现了类似 optarg 但是比 optargs 功能强大的 boost库. 使用它来解析命令行参数或者配置文件都是很简单的. 官方教程http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html依赖 安装boost库, 至少编译 program_options 部分. 添加inc原创 2017-06-11 09:08:37 · 874 阅读 · 0 评论 -
boost::weak_ptr和enable_shared_from_this
原文: http://blog.csdn.net/zade/article/details/2660620boost::weak_ptr和enable_shared_from_this shared_ptr在我的实践中使用很广,在接口层面上,我基本都会默认的使用shared_ptr.而weak_ptr则很少使用;即便使用,也是间接的使用,例如使得class A继承自boost::e转载 2017-03-24 07:06:27 · 701 阅读 · 0 评论 -
1. Boost.Asio入门
原文 https://mmoaay.gitbooks.io/boost-asio-cpp-network-programming-chinese/content/Chapter1.htmlBoost.Asio入门首先,让我们先来了解一下什么是Boost.Asio?怎么编译它?了解的过程中我们会给出一些例子。然后在发现Boost.Asio不仅仅是一个网络库的同时你也会接触到Boo转载 2017-02-22 21:33:47 · 494 阅读 · 0 评论 -
boost log -- header only 的心酸历程(四)
好久没有谈论boost log这个话题了。前两天突然发之前由于粗心,忽略了一些问题。之前为了引用方便,将这个转换成header only。header only的好处就是-- 使用时不用额外的link动态库。这样应用它的时候更加方便。坏处就是 -- 增加重新编译的时间。这都不是关键。 为了实现logger 功能的全局可见。 首先想到的就是用单例模式。然而单例模式如果不是header onl...原创 2019-09-03 10:20:33 · 1297 阅读 · 0 评论