C++实战笔记读书总结 第5章C++进阶技能

准标准库

  1. lexical_cast可以简单、直观地实现字符串与数字的互转
  2. string_algo提供了多种实用的字符串算法,不需要写正则表达式就能够完成大小写转换,查找,比较,替换,分割,合并等日常工作。
  3. cpu_timer是一个高精度计时器,非常使用性能分析。

数据序列化

  1. JSON是纯文本,容易阅读,方便编辑,适用范围最广。
  2. MessagePack是二进制,小巧高效,在开源界接受程度高。
  3. ProtoBuffer是工业级的数据格式,注重安全和性能,多用在大公司的商业产品里。

网络通讯

  1. libcurl是一个功能完善,稳定可靠的应用层通信库,常用的是HTTP。
  2. cpr是对libcurl的C++封装,接口简单,易用。
  3. libcurl/cpr都只能作为HTTP客户端来使用,编写HTTP/HTTPS服务端应用可以选择cinatra。
  4. ZMQ是一个高级的网络通讯库,支持多种通信模式,可以把消息队列功能直接嵌入应用程序搭建出高效、灵活、免管理的分布式系统。

多语言混合编程

  1. C++高效,灵活,但开发周期长,成本高,在混合系统里面可以辅助其他语言,编写各种底层模块,提供扩展,从而扬长避短。
  2. pybind11是一个优秀的C++/Python绑定库,只需要写很简单的代码,就能够把函数,类等C++要素导入Python。
  3. Lua是一种小巧,快速的脚本语言,它的兼容项目LuaJIT运行速度更快。
  4. 使用LuaBridge可以导出C++函数、类,但直接用LuaJIT的ffi库更好。
  5. 使用LuaBridge也可以执行Lua脚本、调用Lua函数,让Lua在C++里运行。

性能分析

  1. 最简单的性能分析工具之一是top,使用它可以快速查看进程的cpu、内存使用情况。
  2. pstack/strade能够显示进程在用户空间和内核空间的函数调用情况。
  3. perf通过以一定的频率采样来分析进程,统计各个函数的CPU利用率。
  4. gpertools是侵入式的性能分析工具,能够生成文本或者图形化的分析报告,支持生成直观的火焰图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值