C++常用的程序库

  • 合适的程序库,可以带来方便。
  • 代码有深度且可读性高。

强烈推荐的库

printf 不好用,ostream 也不好用,format 好用 fmtlib/fmt

超高效级的 json 解析 Tencent/rapidjson

其他库

3D模型解析 assimp/assimp

物理模拟 bulletphysics/bullet3

渲染中间层 bkaradzic/bgfx

3D灵感宣泄场所 cinder/Cinder

命令行帮助既是命令行解析 https://github.com/docopt/docopt.cpp

3D 数学运算 g-truc/glm

拿来就能用的 UI ocornut/imgui

json 结构用在 C++ 里面就像在 JS 里面一样自然 nlohmann/json

用过都知道它的好的性能分析工具 jonasmr/microprofile

又快又不折腾的 xml 解析 zeux/pugixml

专注寻路 recastnavigation/recastnavigation

什么都能放到头文件中 nothings/stb

一键生成 C/C++ 对各种其他语言的接口 swig/swig

最快的哈希算法 Cyan4973/xxHash

包含大量计算几何算法的 Geometric Tools

包含最经典渲染算法的 mmp/pbrt-v3

又小又快又方便的单元测试库 onqtam/doctest

高精度浮点数运算库 LibBF Library

线程

  • C++ Threads:这个库的目标是给程序员提供易于使用的类,这些类被继承以提供在Linux环境中很难看到的大量的线程方面的功能。
  • ZThreads:跨平台的C++线程和同步库。

字符串

  • C++ Str Library:操作字符串和字符的库,支持Windows和支持gcc的多种平台。
  • Common Text Transformation Library:解析和修改STL字符串的库。
  • GRETA:由微软研究院的研究人员开发的处理正则表达式的库,在小型匹配的情况下有非常优秀的表现。

C语言开源项目:

  • Webbench:在Linux下使用的非常简单的网站压测工具,使用C语言编写, 代码超级简洁,源码加起来几乎不到600行。
  • Tinyhttpd:超轻量型Http Server,C语言开发,附带简单的Client,可通过阅读这段代码理解一个 Http Server 的本质。
  • cJSON:C语言中的一个JSON编解码器,非常轻量级,速度非常理想。结构简单易懂,可以作为一个非常好的C语言项目进行学习。
  • CMockery:Google发布的用于C单元测试的一个轻量级的框架。它很小巧,对其他开源包没有依赖,对被测试代码侵入性小。
  • Libev:基于Reactor模式,效率较高,并且代码精简,是学习事件驱动编程的很好的资源。
  • Memcached:Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。
  • Lua:在任何支持ANSI C编译器的平台上都可以轻松编译通过。
  • SQLite:SQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。
  • NETBSD:NetBSD是一个免费的,具有高度移植性的 UNIX-like 操作系统,是现行可移植平台最多的操作系统。
  • 应用开发框架Qt,优雅的信号与槽,强大的界面类库,跨平台。
  • CEF(Chromium Embedded Framework),使用网页做富客户端的绝佳选择,基于Chromium,可以方便嵌入到你的应用中。类似的还有 Electron 。
  • WebRTC,非常赞的框架,做音视频通信绕不开的。
  • TinyXml,小巧的C++ XML库,几个源文件,直接加入到项目中就可以用
  • Protobuf,Google的,网络通信,非常赞,方便序列化和结构化,流量又小
  • FreeImage,强大好用的图形库
  • Libevent,轻量级的基于事件驱动的高性能的开源网络库
  • ffmpeg,多媒体开发类库的无冕之王

  • 一个非常容易上手的 C++ gui 库 nana
  • http客户端curl
  • http服务器 crow
  • gzip压缩zlib
  • json序列化nlohmann/json
  • 二进制序列化protobuf
  • 嵌入式数据库sqlite
  • 日志库glog
  • 参数解析库gflags
  • 消息队列zmq
  • rpc库brpc
  • tcp网络库evpp
  • 3d仿真osg
  • 图形图像opencv
  • stl,boost,qt就不用说了。
多谢您的大力支持