分类目录归档:C/C++

Grpc异步编程框架剖析

习惯了同步编程范式,初次使用异步框架可能会稍感不适,Grpc官方提供了greeter_async_client和greeter_async_server的示例,官网也只是基于该代码的注释作了简要说明(甚至包含错误),文档完善远跟不上社区开发进度,相关细节和原理并不完善,仅限于此似乎有些照猫画虎,不得其理,笔者打算以异步编程范式及其实现,作为Grpc系列的开篇,以官方示例作为切入点,深入展开,为以后对异步编程处理得心应手打下基础。
阅读全文

GCC5 std::string新变化

自从GCC-5.1开始,std::string引入了遵从C++11标准的新实现,默认使用SSO(small string optimization)特性,禁用了写时复制(COW)引用计数机制,这也带来了与旧版本std::string的ABI兼容性问题,本篇结合GCC-5.3.0源码来分析新的std::string实现。
阅读全文

thrift 序列化字段读写的一个小坑

前段时间跟同事一块联调某系统时,client发送thrift序列化后的数据,本地打log能正确读到该字段,而server却收不到该字段的值,感到比较诡异,通过修改下读写的方法就ok了,花了一点时间踩了一个小坑,先从业务代码片段,再到源码分析,最后再与protobuf作对应点的简单比较,与大家分享下。
阅读全文