11 wangicter

尚未进行身份认证

我要认证

金融产品研发

等级
TA的排名 2k+

Linux环境下Protobuf完整安装和使用教程

Linux环境下Protobuf完整安装和使用教程目标下载和安装环境配置一个例子1、报文定义2、报文生成3、使用报文4、编译程序5、常见问题:目标本文将教会一个完全的新手如何搭建自己的protobuf Linux环境,并配置好编程环境,并使用一个例子帮助你学会使用protobuf.下载和安装1、下载protobuf安装包$ git clone https://github.com/protocolbuffers/protobuf.git2、安装依赖库$ cd protobuf/$ ./au

2020-08-30 20:58:35

ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket - is it running?

ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket - is it running?运行docker-compose up -d时报错:$ docker-compose upERROR: Couldn't connect to Docker daemon at http+docker://loca...

2018-11-25 18:30:26

C++流水线的简易实现

流水线本来是工程任务中为了将不同的工序分开的一种处理流程。这种分工,会给工作的流程化和吞吐带来一定的好处。 如果将流水线应用到程序中,会有如下一些好处: 1、不需要锁。线程之间有时序关系,因此从流程设计上就规避了锁的机制; 2、多线程并发。不同线程负责不同的事务处理,可以在一定程度上实现并发; 3、吞吐量高。由于多线程不会像单线程那样阻塞,所以吞吐量会有一定提高。 但流水线也有它的缺点:...

2018-07-02 16:35:49

VS CODE离线安装C/C++扩展的方法

VS CODE离线安装C/C++扩展的方法很多环境并不联网,但又想使用VS CODE的扩展怎么办呢?下载安装VS CODE离线安装C/C++扩展常用快捷键下载安装VS CODE下载链接:https://code.visualstudio.com/ 安装没有什么可讲的,略过。离线安装C/C++扩展离线安装包链接:https://github.com/mi...

2018-06-25 14:31:58

std::map的[]方法重写

需求要求对std::map的[]操作,新插入元素时设定为指定初始值。实现std::map<int, int> test_dict;uint32_t operator[](const int key){ // _where指向_where->first比key大于等于的元素 std::map<int, int>::iterator _where = test_dict.lower_

2017-09-01 16:21:24

std::set, std::list, std::vector在erase的区别

std::set、std::list、std::vector在erase的区别

2017-09-01 16:05:55

boost::factory实现对象工厂设计模式

转载自:http://blog.csdn.net/mpforwd/article/details/5791699#ifndef MP_OBJECT_FACTORY_H #define MP_OBJECT_FACTORY_H #include #include /// 工厂模式泛型实现. /// 限制: 生成的对象必须为通过默认构造函数来构造. ///

2017-08-31 16:55:44

sigaction介绍

sigaction 原型: int sigaction(int signo,const struct sigaction *restrict act, struct sigaction *restrict oact); @signo 信号编号 @act 要注册的信号动作 @oact 原信号动作

2017-08-04 14:58:35

ZMQ模式详解——发布/订阅模式

一个例子1.一个服务器负责生成天气相关数据(邮编、温度、湿度),然后将这些数据发布到所有需要知悉天气的客户端; 2.一个客户端需要时刻更新和获取最新的邮政编码,在没有获取之前可默认为纽约地区。特点:1.一个发布者,多个订阅者的关系,1:n; 2.当发布者数据变化时发布数据,所有订阅者均能够接收到数据并处理。 这就是发布/订阅模式。

2017-07-28 10:50:25

zeromq+python安装手册

zeromq在windows和linux环境下的安装方法。

2017-07-25 15:49:27

快排的两种写法

快排及其优化

2017-07-24 16:11:55

内存屏障

内存屏障在编程过程中,由于CPU重排以及编译器优化的原因,有些代码的执行顺序会发生变化,并不是严格按照程序编写的那样执行。虽然在单线程情况下,这样优化的结果没有问题,还能够大大提速,但多线程情况下就会发生意想不到的结果。

2017-07-20 11:24:21

多核编程中伪共享问题(false sharing)

伪共享问题(False Sharing)是多核编程中非常常见的问题。

2017-07-11 16:20:07

boost学习之BOOST_PP_REPEAT

BOOST_PP_REPEAT 是用来快速横向重复构造的宏。

2017-04-24 15:51:40

Incorrect string value:"\ \ \ \ \"for column'trurname' at row 1

Incorrect string value:”\ \ \ \ \”for column’trurname’ at row 1问题 当在mysql中执行sql语句时报错:Incorrect string value:”\ \ \ \ \”for column’trurname’ at row 1解决方案方法一 执行插入语句前,先执行set names gbk;方法二 如果方法一无效,

2015-11-24 14:31:48

do{...}while(0)的意义和用法

linux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ...}while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:1、辅助定义复杂的宏,避免引

2015-07-30 14:28:25

C++单例实现

单例本来是个很简单的模式,实现上应该也是很简单,但C++单例的简单实现会有一些坑,来看看为了避免这些坑怎样一步步演化到boost库的实现方式。方案一class QMManager{public: static QMManager &instance() { static QMManager instance_; return in

2015-02-04 10:18:26

std::lexicographical_compare

函数原型:default (1)template bool lexicographical_compare (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2);

2015-01-16 10:44:08

#pragma预处理命令

#pragma可以说是C++中最复杂的预处理指令了,下面是最常用的几个#pragma指令:#pragma comment(lib,"XXX.lib")表示链接XXX.lib这个库,和在工程设置里写上XXX.lib的效果一样。#pragma comment(linker,"/ENTRY:main_function")表示指定链接器选项/ENTRY:main_funct

2015-01-16 09:43:36

boost学习之BOOST_PP_SEQ_FOR_EACH_R

BOOST_PP_SEQ_FOR_EACH_R 将seq中的每一个元素按照指定宏进行展开。它使用更高效的BOOST_PP_FOR。用法:BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq)变量:r下一个 BOOST_PP_FOR 重复项。macro按照格式macro(r, data, elem)进行展开。该宏被 BOOST_PP_

2015-01-15 12:20:38

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。