C/C++

Awesome C++ Awesome

精选的C ++(或C)框架,库,资源和闪亮的清单. 受到令人敬畏的东西的启发.

Standard Libraries

Frameworks

  • C ++通用框架和库.

  • abseil-cpp - Abseil C++ Common Libraries. [Apache2]

  • Apache C++ Standard Library -STDCXX,算法,容器,迭代器和其他基本组件的集合. [已退休] [Apache2]
  • APR -Apache可移植运行时. 另一个跨平台实用程序函数库. [Apache2]
  • ASL -Adobe Source Libraries提供了经过同行评审的可移植C ++源库. [麻省理工学院]
  • Boost :zap:-大量的通用C ++库. [促进] website
  • BDE -彭博实验室的BDE开发环境. [Apache2]
  • Cinder -社区开发的免费开放源代码库,用于提供专业质量的创意编码. [BSD]
  • Cxxomfort -一个小型的仅标头的库,它将各种功能从最新的C ++标准向后移植到C ++ 03及更高版本. [麻省理工学院]
  • Dlib :zap:-使用契约式编程和现代C ++技术设计的通用跨平台C ++库. [促进] website
  • EASTL -电子艺术标准模板库. [BSD]
  • ETL -嵌入式模板库. [麻省理工学院]
  • ffead-cpp -企业应用程序开发框架. [Apache2]
  • Folly -在Facebook开发和使用的开源C ++库. [Apache2]
  • FunctionalPlus -C ++的功能编程库. 编写简洁易读的C ++代码. [麻省理工学院]
  • GLib -GLib为用C编写的库和应用程序提供了核心应用程序构建块.[LGPL]
  • JUCE -全面的C ++类库,用于开发跨平台软件. [核心模块:ISC,其余:GPL2 / GPL3 / Commercial] website
  • libPhenom -libPhenom是一个事件框架,用于在C中构建高性能和高可伸缩性系统.[Apache2]
  • LibSourcey -C ++ 11事件IO用于实时视频流和高性能网络应用程序. [LGPL]
  • LibU -用C语言编写的多平台实用程序库.[BSD]
  • Loki -一个C ++设计库,其中包含常见设计模式和惯用语的灵活实现. [麻省理工学院]
  • MiLi -最小的仅标头C ++库. [促进]
  • OpenFrameworks -用于C ++创意编码的跨平台开源工具包. [麻省理工学院] website
  • Qt :zap:-跨平台的应用程序和UI框架. [GPL / LGPL /商业]
  • Reason -跨平台框架,旨在为需要C ++性能和强度的开发人员带来Java,.Net或Python的易用性. [GPL2]
  • ROOT -一组OO框架,具有以非常有效的方式处理和分析大量数据所需的所有功能. 在CERN使用. [LGPL]
  • STLport -STL的示例版本. [自由]
  • STXXL -超大数据集的标准模板库. [促进]
  • tbox -类似于glib的多平台c库. [Apache2] website
  • Ultimate++ -C ++跨平台快速应用程序开发框架. [BSD]
  • uSTL -小型STL库. [麻省理工学院]
  • Windows Template Library -用于开发Windows应用程序和UI组件的C ++库. [上市]
  • Yomm2 -快速,正交,开放式多种方法. 取代 Yomm11 [促进]

Artificial Intelligence

  • ANNetGPGPU -基于GPU(CUDA)的人工神经网络库. [LGPL]
  • btsk -游戏行为树入门套件. [zlib]
  • Evolving Objects -基于模板的ANSI-C ++演化计算库,可帮助您快速地编写自己的随机优化算法. [LGPL]
  • frugally-deep -仅标题的库,用于在C ++中使用Keras模型. [麻省理工学院]
  • Genann -C语言中的简单神经网络库.[zlib]
  • MXNet -具有动态,可感知突变的Dataflow Dep Scheduler的轻型,便携式,灵活的分布式/移动深度学习; 适用于Python,R,Julia,Scala,Go,Javascript等 website
  • PyTorch -具有强大GPU加速功能的Python中的张量和动态神经网络. website
  • Recast/Detour -(3D)导航网格生成器和探路器,主要用于游戏. [zlib]
  • TensorFlow -使用数据流图进行数值计算的开源软件库[Apache]
  • CNTK -Microsoft认知工具包(CNTK),一种开源的深度学习工具包. [促进]
  • tiny-dnn -C ++ 11中仅标头,无依赖的深度学习框架. [BSD]
  • Veles -用于快速深度学习应用程序开发的分布式平台. [Apache]
  • Kaldi -语音识别工具包. [Apache]

Asynchronous Event Loop

  • Asio -用于网络和底层I / O编程的跨平台C ++库,使用现代C ++方法为开发人员提供一致的异步模型. [促进] website
  • Boost.Asio -用于网络和底层I / O编程的跨平台C ++库. [促进]
  • C++ Actor Framework -C ++中Actor模型的开源实现. [BSD-3-Clause] website
  • libev -一个功能齐全的高性能事件循环,在libevent之后进行松散建模,但没有限制和错误. [BSD和GPL]
  • libevent -事件通知库. [BSD]
  • libuv -跨平台异步I / O. [BSD]
  • promise-cpp -实现Promise / A +标准的仅标头库. [Anti-996]
  • uvw -libuv的C ++包装器. [MH]

Audio

音频,声音,音乐,数字化语音库

  • KFR -快速,现代的C ++ DSP框架,FFT,FIR / IIR滤波器,采样率转换. [GPL /商业]
  • libsndfile -带有C ++包装程序的C库,用于通过一个标准库接口读取和写入包含采样声音的文件. [LGPL-2.1] website
  • libsoundio -用于跨平台实时音频输入和输出的C库. [麻省理工学院] website
  • Maximilian -C ++音频和音乐DSP库. [麻省理工学院]
  • OpenAL -开放音频库-跨平台音频API. [BSD / LGPL /商业]
  • miniaudio -单文件音频播放和捕获库. [无牌]
  • Opus -完全开放,免版税,功能广泛的音频编解码器. [BSD]
  • PortAudio -PortAudio是一个免费的,跨平台的开源音频I / O库. [麻省理工学院]
  • SELA -简单的无损音频. [MIT]
  • SoLoud -简单,便携式的游戏音频引擎. [zlib]
  • Speex -用于言论自由的免费编解码器. 被Opus淘汰. [BSD]
  • Tonic -在C ++中轻松高效地进行音频合成. [无牌]
  • Vorbis -Ogg Vorbis是一种完全开放的,非专有的,免专利和免专利费的通用压缩音频格式. [BSD]
  • minimp3 -具有净室实现的公共域,仅标头的MP3解码器. [CC0]
  • Verovio -Verovio是一个快速,轻便的音乐符号雕刻库. [LGPL] website
  • Wav2Letter++ -公共领域,一种完全用C ++编写的快速开源语音处理工具包,它使用ArrayFire张量库和手电筒机器学习库来实现最高效率[BSD]

Biology

生物信息学,基因组学,生物技术

  • BioC++ -用于生物信息学的C ++计算库. [BSD]
  • Chaste -一个开放的C ++库,用于为生理学和生物学开发的数学模型的计算仿真. [BSD]
  • libsequence -一个用于表示和分析种群遗传数据的C ++库. [GPL]
  • SeqAn -以生物数据为重点的序列分析算法和数据结构. [BSD / 3条款]
  • Vcflib -一个C ++库,用于解析和处理VCF文件. [麻省理工学院]
  • Wham -通过直接将关联测试应用于BAM文件,实现基因组中的结构变异(SV). [麻省理工学院]

BitTorrent

  • jech/dht -C中的BitTorrent DHT库.[MIT]
  • libtorrent (aka libtorrent-rasterbar)-一种高效的功能完整的C ++ bittorrent实现. [BSD]
  • LibTorrent (aka libtorrent-rakshasa)-BitTorrent库. [GPL]
  • libutp -uTorrent传输协议库. [麻省理工学院]

CLI

控制台/终端用户界面,命令行界面

  • Argh! -极简,无挫折,仅标头的参数处理程序. [BSD]
  • Taywee/args -一个简单的仅标头C ++参数解析器库. [麻省理工学院]
  • Boost.Program_options -通过常规方法(例如命令行和配置文件)获取程序选项的库. [促进]
  • Clara -简单易用,可组合的C ++ 11及更高版本的命令行解析器. [BSL-1.0]
  • cli -交互式命令行界面(Cisco风格)的仅跨平台标头的C ++ 14库. [促进]
  • CLI11 -仅标头的单文件或多文件C ++ 11库,用于简单和高级的CLI解析. [BSD]
  • jarro2783/cxxopts -轻量级C ++命令行选项解析器. [麻省理工学院]
  • docopt.cpp -从文档字符串生成选项解析器的库. [麻省理工学院/助推器]
  • gflags -C ++的命令行标志模块. [BSD]
  • linenoise -替代readline和libedit的小型独立设备. [BSD-2-Clause]
  • linenoise-ng -用于Linux,Windows和MacOS的小型便携式GNU readline替代品,能够处理UTF-8字符. [BSD]
  • Lyra -简单易用,可组合的C ++ 11及更高版本的命令行解析器. [促进]
  • Ncurses -终端用户界面. [麻省理工学院]
  • PDCurses -公共领域的curses库,提供源代码和预编译的库. [公共区域]
  • replxx -支持UTF-8,语法高亮显示,提示的readline和libedit替换,可在Unix和Windows上使用. [BSD]
  • TCLAP -一个成熟,稳定且功能丰富的库,用于在ANSI C ++中定义和访问命令行参数. [麻省理工学院]
  • termbox -用于编写基于文本的用户界面的AC库. [麻省理工学院]

Compression

压缩和存档库

  • bit7z -一个C ++静态库,为7-zip DLL提供一个简洁的接口. [GPLv2]
  • Brotli -Brotli压缩格式. 由Google开发. [麻省理工学院]
  • bzip2 -免费提供,无专利的高质量数据压缩器. [BSD]
  • FiniteStateEntropy -新一代熵编解码器:有限状态熵和Huff0.
  • PhysicsFS -提供抽象访问各种档案的库. 它旨在用于视频游戏,其设计在某种程度上受到Quake 3的文件子系统的启发. [zlib]
  • KArchive -一个用于创建,读取,编写和处理zip和tar等文件档案的库. 它还通过QIODevice的子类使用gzip之类的格式提供透明的数据压缩和解压缩. [LGPL]
  • libarchive -多格式存档和压缩库. [新BSD] website
  • LZ4 -极快的压缩算法. [BSD] website
  • LZFSE -LZFSE压缩库和命令行工具. 由Apple开发.
  • LZHAM -无损数据压缩库,压缩率类似于LZMA,但解压缩速度更快. [BSD]
  • LZMA :zap:-7z格式的默认和常规压缩方法. [公共区域]
  • LZMAT -极快的实时无损数据压缩库. [GPL]
  • miniz -具有Zlib兼容API,ZIP存档读取/写入,PNG写入的单个C源文件Deflate / Inflate压缩库. [麻省理工学院]
  • Minizip -Zlib具有最新的错误修复程序,支持PKWARE磁盘扩展,AES加密和IO缓冲. [zlib]
  • smaz -小字符串压缩库. [BSD]
  • Snappy -快速压缩器/解压缩器. [BSD]
  • ZLib -用于数据流的非常紧凑的压缩库. [zlib]
  • zlib-ng -用于“下一代”系统的zlib. 直接替换,并进行了一些认真的优化. [zlib]
  • zstd -Zstandard-快速实时压缩算法. 由Facebook开发. [BSD]
  • ZZIPlib -提供对ZIP归档文件的读取访问权限. [MPL / LGPL]

Concurrency

并发和多线程

  • alpaka -用于并行内核加速的抽象库. [LGPLv3 +]
  • ArrayFire -通用GPU库. [BSD]
  • Async++ -受Microsoft PPL库和N3428 C ++标准建议启发的C ++ 11轻量级并发框架. [麻省理工学院]
  • Boost.Compute -用于OpenCL的C ++ GPU计算库. [促进]
  • Bolt -针对GPU优化的C ++模板库. [Apache2]
  • ck -并发原语,安全内存回收机制和非阻塞数据结构. [BSD]
  • concurrentqueue -用于C ++ 11的快速多生产者,多消费者,无锁定并发队列. [BSD,助推​​器]
  • Cpp-Taskflow -具有任务依赖性的快速C ++并行编程. [麻省理工学院]
  • CUB -CUB为CUDA编程模式的每一层提供了最新的,可重复使用的软件组件. [新BSD]
  • cupla -通过Alpaka在OpenMP,Threads,TBB等上运行CUDA / C ++的C ++ API. [LGPLv3 +]
  • C++React -用于C ++ 11的反应式编程库. [促进]
  • FiberTaskingLib -基于任务的多线程库,支持具有任意依赖性的任务图. [Apache]
  • Intel Games Task Scheduler -专为游戏开发人员需求而设计的任务计划框架. [麻省理工学院]
  • Intel Parallel STL -C ++ 11及更高版本的C ++ 17 STL的英特尔®实现. [Apache2]
  • Intel TBB -英特尔®线程构建模块. [Apache2]
  • junction -C ++中的并发数据结构库. [BSD]
  • libcds -并发数据结构的C ++库. [BSD]
  • Libclsph -基于OpenCL的GPU加速的SPH流体模拟库. [麻省理工学院]
  • libdill -在C中引入结构化并发.
  • libdispatch -由Apple Inc.开发的Grand Central Dispatch(GCD)是一种基于线程池模式的任务并行技术. libdispatch是一个提供GCD服务实现的库. [Apache-2.0] website
  • libmill -在C.中引入Go风格的并发.
  • moderngpu -moderngpu是用于GPU上通用计算的生产力库. 它是为CUDA编写的仅标头C ++库. 该库的独特价值在于其用于解决不规则并行问题的加速原语. [FreeBSD和版权,Sean Baxter]
  • NCCL -用于集体多GPU通信的优化原语. [BSD]
  • OpenCL -异构系统并行编程的开放标准.
  • OpenMP -OpenMP API.
  • RaftLib -RaftLib C ++库,通过类似于iostream的C ++运算符进行流/数据流并发[Apache2]
  • readerwriterqueue -适用于C ++的快速单生产者,单消费者无锁队列. [BSD]
  • Thrust -类似于C ++标准模板库(STL)的并行算法库. [Apache2]
  • transwarp -用于任务并发的仅标头C ++库. [麻省理工学院]
  • HPX -适用于任何规模的并行和分布式应用程序的通用C ++运行时系统. [促进]
  • VexCL -用于OpenCL / CUDA的C ++向量表达模板库. [麻省理工学院]
  • Quantum -建立在以下基础之上的强大C ++协程分派器框架 boost::coroutines2.

Configuration

配置文件,INI文件

  • inih -用C语言编写的简单.INI文件解析器,非常适合嵌入式系统. [BSD-3-Clause]
  • inih -仅单头C ++版本 inih . [BSD-3-Clause]
  • iniparser -此解析器文件. [麻省理工]
  • libconfig -C,C ++库,用于处理结构化配置文件. [LGPL-2.1] website
  • libconfuse -C的小型配置文件解析器库.[ISC]
  • simpleini - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT]

Containers

  • C++ B-tree -模板库,基于B树数据结构实现有序的内存中容器. [Apache2]
  • Colony -无序的“袋”型容器,在高修改情况下,其性能优于标准容器,同时无论插入/擦除如何,始终保持指向未擦除元素的永久指针. [zLib] website
  • dynamic_bitset -C ++ 17仅限标头的动态位集. [麻省理工学院]
  • Forest -实现AVL,二进制搜索,KD和四叉树的模板库. [麻省理工学院]
  • Hashmaps -在C ++中实现开放式地址哈希表算法. [麻省理工学院]
  • Hopscotch map -快速的仅标头哈希映射,它使用跳房子哈希来解决冲突. [麻省理工学院]
  • LSHBOX -局部敏感哈希(LSH)的c ++工具箱,提供了几种流行的LSH算法,还支持Python和MATLAB. [GPL]
  • plf::list -一种std :: list实现,该实现删除范围拼接以启用缓存友好的结构,从而显着提高性能. [zLib] website
  • plf::stack -std :: stack容器适配器的替换容器,在堆栈上下文中比任何std容器都有更好的性能. [zLib] website
  • ring_span lite -Arthur O'Dwyer的ring_span实现的简化实现. 循环缓冲区视图. [麻省理工学院]
  • robin-hood-hashing -基于C ++ 14的基于Robin Hood哈希的快速且内存高效的哈希表. [麻省理工学院]
  • robin-map -使用罗宾汉哈希来实现快速哈希图和哈希集. [麻省理工学院]
  • sparsepp -用于C ++的快速,内存高效的哈希映射. [BSD 3句]

Cryptography

密码学和加密库

  • Bcrypt -跨平台文件加密实用程序. 加密文件可在所有受支持的操作系统和处理器之间移植. [BSD]
  • BeeCrypt -便携式快速密码库. [LGPLv2.1 +]
  • Botan -C ++的加密库. [BSD-2]
  • Crypto++ -加密方案的免费C ++类库. [促进] website
  • digestpp -C ++ 11仅标头消息摘要(哈希)库. [公共区域]
  • GnuPG -完全免费的OpenPGP标准实施. [GPL]
  • GnuTLS -实现SSL,TLS和DTLS协议的安全通信库. [LGPL2.1]
  • Libgcrypt -最初基于GnuPG的代码的通用密码库. [LGPLv2.1 +]
  • LibreSSL -2014年从OpenSSL派生的SSL / TLS协议的免费版本.[?]
  • libsodium -基于NaCl的P(或可购买的)加密库,自以为是且易于使用. [ISC]
  • libhydrogen -适用于受限环境的轻巧,安全,易于使用的加密库. [ISC]
  • LibTomCrypt -相当全面,模块化和便携式的加密工具包. [WTFPL]
  • mbedTLS -开源,可移植,易于使用,可读且灵活的SSL库,以前称为PolarSSL. [Apache2] website
  • Nettle -低级密码库. [LGPL]
  • OpenSSL -强大的,商业级,功能齐全的开放源代码加密库. [Apache] website
  • retter -散列函数,密码,工具,库和与密码学有关的材料的集合.
  • s2n -TLS / SSL协议的实现. [Apache]
  • sha1collisiondetection -用于检测文件中SHA-1冲突的库和命令行工具. [麻省理工学院]
  • Tink -一种多语言,跨平台的库,提供安全,易于正确使用且难以滥用的加密API. [Apache-2.0]
  • Tiny AES in C -C型小型便携式AES128 / 192/256.[PublicDomain]
  • Themis -用于移动和服务器平台的无痛数据安全加密库,提供对称和非对称加密,具有前向保密性的安全套接字. [Apache2]

CSV

用于解析逗号分隔值(CSV)文件的库

  • csv -CSV用于现代C ++. [MIT]
  • Fast C++ CSV Parser -小型,易于使用且快速的仅标头库,用于读取CSV文件. [BSD-3-Clause]
  • Vince's CSV Parser -快速,自包含的,流式C ++ 17 CSV解析器,具有可选的类型转换和统计信息. [麻省理工学院]

Database

数据库库,SQL Server,ODBC驱动程序和工具

  • hiberlite -sqlite3的C ++对象关系映射. [BSD]
  • Hiredis -用于Redis数据库的简约C客户端库. [BSD]
  • LevelDB -由Google编写的快速键值存储库,提供了从字符串键到字符串值的有序映射. [BSD]
  • LMDB -具有完整ACID语义的非常快速的嵌入式键/值存储. [OpenLDAP]
  • LMDB++ -LMDB嵌入式数据库库的C ++ 11包装器. [公共区域]
  • MongoDB C Driver -用于C的MongoDB客户端库.[Apache2]
  • MongoDB C++ Driver -MongoDB的C ++驱动程序. [Apache2]
  • MongoDB Libbson -BSON实用程序库. [Apache2]
  • MySQL++ -MySQL C API的C ++包装器. [LGPL]
  • nanodbc -用于本机C ODBC API的小型C ++包装器. [麻省理工学院]
  • ODB -用于C ++的开源,跨平台和跨数据库对象关系映射(ORM)系统. [GPLv2]
  • redis3m -带有清晰C ++接口的hiredis包装器,支持哨兵并准备使用模式. [Apache2]
  • RocksDB -嵌入式键值存储,可从Facebook快速存储. [BSD]
  • SimDB -高性能,共享内存,无锁,跨平台,单个文件,最小依赖性,C ++ 11键值存储[Apache2]
  • SOCI -C ++的数据库抽象层. [BSL-1.0]
  • SQLite -完全嵌入的,功能全面的关系型数据库(只需几万个)就可以直接包含到您的项目中. [公共区域]
  • SQLiteC++ -SQLiteC ++(SQLiteCpp)是一个聪明且易于使用的C ++ SQLite3包装器. [麻省理工学院]
  • sqlite_modern_cpp -围绕sqlite库的仅标头C ++ 14包装器. [麻省理工学院]
  • sqlite_orm -适用于现代C ++的SQLite ORM light header only库. [BSD-3-Clause]
  • sqlpp11 -一种用于SQL查询和C ++结果的类型安全的嵌入式域特定语言. [BSD-2-Clause]
  • TileDB -快速密集和稀疏多维阵列DBMS. [麻省理工学院] website
  • upscaledb -具有内置查询界面的嵌入式“类型化”键/值存储. [GPLv3]

Debug

调试库,内存泄漏和资源泄漏检测,单元测试

  • backward-cpp -用于C ++的漂亮堆栈跟踪漂亮打印机. [麻省理工学院]
  • benchmark -Google提供了小型的微基准支持库. [Apache2]
  • Boost.Test -增强测试库. [促进]
  • check -Check是C的单元测试框架.[LGPL-2.1] website
  • doctest -最轻便的功能丰富的C ++单头测试框架. [麻省理工学院]
  • Catch -用于单元测试,TDD和BDD的现代,C ++原生,仅标头的框架. [促进]
  • Catch2 -用于单元测试,TDD和BDD的现代,C ++原生,仅标头的测试框架. [BSL-1.0]
  • Celero -C ++基准测试框架. [Apache2]
  • CppUTest -C / C ++的单元测试和模拟框架. [BSD-3条款]
  • CUTE -C ++单元测试更容易. [LGPL3]
  • CMocka -支持模拟对象的C单元测试框架. [Apache2]
  • CppUnit -JUnit的C ++端口. [LGPL2]
  • CTest -CMake测试驱动程序. [BSD]
  • dbg-macro -C ++的dbg(…)宏. [麻省理工学院]
  • Deleaker -用于资源泄漏检测的工具,包括内存,GDI和处理泄漏.
  • fff -用于创建伪C函数的微框架. [麻省理工学院]
  • Google Mock -用于编写和使用C ++模拟类的库. [BSD]
  • Google Test -Google C ++测试框架. [BSD]
  • ig-debugheap -多平台调试堆对于跟踪内存错误很有用. [BSD]
  • libtap -用C编写测试.[GPL2]
  • MemTrack -在C ++中跟踪内存分配.
  • microprofile -具有用于多个平台的网络视图的探查器. [公共区域]
  • MinUnit -用于C的最小单元测试框架,包含在单个头文件中. [麻省理工学院]
  • Mockator -用于C ++接缝和模拟对象的Eclipse CDT插件.
  • Nanotimer -用于基准测试的简单,低开销的跨平台计时器类. [zLib] website
  • Nonius -一个C ++微基准测试框架. [CC]
  • Remotery -具有Web Viewer的单个C文件分析器. [Apache2]
  • UnitTest++ -用于C ++的轻量级单元测试框架. [MIT / X联盟许可证]
  • Unity -C的简单单元测试.[MIT]
  • utest.h -用于C和C ++的单头单元测试框架. [无牌]
  • VLD - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++.

Font

*用于解析和处理字体文件的库.

  • Fontconfig -字体配置和自定义库. [麻省理工学院] website
  • FreeType -FreeType是免费提供的用于渲染字体的软件库. [FTL和GPLv2]
  • otfcc -用于解析和写入OpenType字体文件的AC库和实用程序. [Apache-2.0]

Game Engine

  • Acid -高速C ++ 17 Vulkan游戏引擎. [麻省理工学院]
  • Allegro -一个主要用于视频游戏和多媒体编程的跨平台库. [zlib]
  • Atomic Game Engine - A multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript. [Commercial]
  • Banshee 3D - Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting. [LGPL3/Commercial]
  • Cocos2d-x -用于构建2d游戏,交互式书籍,演示和其他图形应用程序的多平台框架. [麻省理工学院]
  • Corange -用纯C,SDL和OpenGL编写的游戏引擎. [BSD]
  • delta3d -强大的仿真平台. [LGPL2]
  • EnTT -游戏符合现代C ++. [麻省理工学院]
  • GamePlay -跨平台的本机C ++游戏框架,用于创建2D / 3D移动和桌面游戏. [Apache2]
  • Godot -MIT许可的功能齐全的开源游戏引擎. [麻省理工学院]
  • Grit - Community project to build a free game engine for implementing open world 3D games. [MIT]
  • Halley -用C ++ 14编写的轻量级游戏引擎,带有“真实的”实体组件系统. [Apache 2.0]
  • KlayGE -具有基于插件的体系结构的跨平台开源游戏引擎. [GPLv2] website
  • OpenXRay -STALKER游戏系列中使用的社区修改X射线引擎. [修改后的BSD /非商业用途]
  • Oxygine -跨平台的2D C ++游戏引擎. [麻省理工学院]
  • Panda3D -游戏引擎,用于Python和C ++程序的3D渲染和游戏开发的框架. [修改后的BSD] website
  • PixelGameEngine -olcPixelGameEngine的官方发行版,这是javidx9的YouTube视频和项目中使用的工具. [OLC3]
  • Polycode -用于C ++中的创意代码的跨平台框架(带有Lua绑定). [麻省理工学院] website
  • raylib -一个简单易用的库,可享受电子游戏编程的乐趣. [zlib / libpng] website
  • Spring -强大的免费跨平台RTS游戏引擎. [GPLv2 / GPLv3] website
  • Torque2D -为2D游戏开发而构建的开源和跨平台C ++引擎. [麻省理工学院] website
  • Torque3D -为3D游戏开发而构建的开源C ++引擎. [麻省理工学院] website
  • toy engine -玩具是一个瘦小的模块化c ++游戏引擎,并提供简单的表达性c ++惯用法来快速迭代设计功能齐全的2D或3D游戏.
  • Urho3D -用C ++实现的免费轻量级,跨平台2D和3D游戏引擎. 受到OGRE和Horde3D的极大启发. [麻省理工学院]

GUI

图形用户界面

  • Boden -本机,移动,跨平台的GUI框架. [GPL / LGPL /商业] website
  • CEGUI -灵活的跨平台GUI库.
  • FLTK -快速,轻便,跨平台的C ++ GUI工具箱. [GPL2]
  • GacUI -GPU加速的C ++用户界面,具有所见即所得的开发工具,XML支持,内置的数据绑定和MVVM功能. [女士PL]
  • GTK+ -用于创建图形用户界面的多平台工具包. [LGPL]
  • gtkmm -流行的GUI库GTK +的官方C ++接口. [LGPL]
  • imgui -具有最小依赖性的即时模式图形用户界面. [麻省理工学院]
  • iup -用于构建图形用户界面的多平台工具包. [麻省理工学院]
  • libRocket -libRocket是C ++ HTML / CSS游戏界面中间件. [麻省理工学院]
  • libui -C中的简单和可移植(但不灵活)的GUI库,使用其支持的每个平台的本机GUI技术. [麻省理工学院]
  • MyGUI -快速,灵活和简单的GUI. [麻省理工学院]
  • nana -Nana是用于现代C ++风格的GUI编程的跨平台库. [促进]
  • NanoGui -适用于OpenGL 3.x或更高版本的简约跨平台窗口小部件库. [BSD]
  • nuklear -单头ANSI C gui库. [公共区域]
  • QCustomPlot -Qt绘图小部件,无需进一步依赖. [GPLv3]
  • Qwt -用于技术应用程序的Qt小部件. [基于LGPL拥有]
  • QwtPlot3D -一个功能丰富的基于Qt / OpenGL的C ++编程库,本质上提供了一堆3D小部件. [zlib]
  • Sciter -Sciter是可嵌入的HTML / CSS /脚本引擎,旨在用作现代桌面应用程序的UI层. [免费/商业]
  • wxWidgets -一个C ++库,使开发人员可以使用单个代码库为Windows,Mac OS X,Linux和其他平台创建应用程序. [自己的LGPL]
  • Yue -用于创建本机跨平台GUI应用程序的库. [LGPLv2]

Graphics

  • assimp -开放资产导入库(assimp)是跨平台的3D模型导入库,旨在为不同的3D资产文件格式提供通用的API. [BSD-3-Clause] website
  • bgfx -跨平台渲染库. [BSD]
  • Blend2D -由JIT编译器提供支持的2D矢量图形引擎. [Zlib] website
  • bs::framework -用于实时图形应用程序开发的现代C ++ 14库. [麻省理工学院]
  • Cairo -支持多个输出设备的2D图形库. [LGPL2或Mozilla MPL]
  • Diligent Engine -现代的跨平台低级3D图形库. [Apache2]
  • DirectXTK -一组用于用C ++编写DirectX 11.x代码的帮助程序类. [麻省理工学院]
  • GLFW -一个简单的跨平台OpenGL争用库. [zlib / libpng]
  • herebedragons -使用各种引擎,框架或API实现的基本3D场景. [麻省理工学院] website
  • Horde3D -小型3D渲染和动画引擎. [EPL]
  • Ion -小型高效的库集,用于构建使用3D图形的跨平台客户端或服务器应用程序. [Apache2] website
  • Irrlicht -用C ++编写的高性能实时3D引擎. [zlib]
  • libigl -简单的C ++几何处理库. [MPL2]
  • LLGL -低级图形库(LLGL)是现代图形API的薄抽象层. [BSD-3-Clause]
  • magnum -用于游戏和数据可视化的轻量级模块化C ++ 11 / C ++ 14图形中间件. [麻省理工学院] website
  • NanoVG -OpenGL上的抗锯齿2D矢量绘图库,用于UI和可视化. [Zlib]
  • Ogre 3D :zap:-用C ++编写的面向场景的实时灵活3D渲染引擎(与游戏引擎相对). [麻省理工学院]
  • OpenSceneGraph -开源高性能3D图形工具包. [OSGPL]
  • OpenSubdiv -Pixar的库,用于评估和渲染CPU和GPU上的细分曲面. [修改的Apache2]
  • OpenVDB -用于存储,编辑和渲染体积数据集的库和工具. [MPL2]
  • Panda3D -用于Python和C ++的3D渲染和游戏开发的框架. [BSD]
  • Partio -用于处理粒子数据的库,支持大多数常用文件格式. [修改后的BSD]
  • Skia -完整的2D图形库,可绘制文本,几何图形和图像. [BSD] webpage
  • TinySpline -一个小型但功能强大的ANSI C库,用于插值,转换和查询任意NURBS,B样条曲线和Bézier曲线. [麻省理工学院]
  • urho3d -跨平台渲染和游戏引擎. [很多不同,主要是麻省理工学院]
  • Yocto/GL -用于数据驱动的基于物理的图形的微型C ++库. [麻省理工学院]

Image Processing

  • Boost.GIL -通用图片库.
  • CImg -一个小型的开源C ++工具包,用于图像处理. [自己的LGPL或GPL]
  • CxImage -图像处理和转换库,用于加载,保存,显示,转换BMP,JPEG,GIF,PNG,TIFF,MNG,ICO,PCX,TGA,WMF,WBMP,JBG,J2K图像. [zlib]
  • Dlib :zap:-现代C ++ 11机器学习,计算机视觉,数值优化和深度学习工具包. [促进] website
  • FreeImage -一个开源库,支持流行的图形图像格式以及当今多媒体应用程序所需的其他格式. [GPL2或GPL3]
  • GD -GD图形库,在PHP中著名地用于图像加载/处理和缩略图生成. [自定义许可,需要在用户文档中提及] website
  • DCMTK -DICOM工具包.
  • GDCM -基层DICOM库.
  • ITK -用于图像分析的开源,跨平台系统. [ITK 4.0中的Apache2]
  • Leptonica - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] website
  • libfacedetection -用于图像中人脸检测的开源库. 人脸检测速度可以达到1500FPS. [BSD]
  • libjpeg-turbo -使用SIMD指令来加速基线JPEG编码和解码的JPEG图像编解码器. [IJG和BSD-3-Clause和zlib] website
  • libvips -具有低内存需求的快速图像处理库. [LGPL] website
  • Magick++ -用于C ++的ImageMagick程序接口. [Apache2]
  • MagickWnd -C的ImageMagick程序接口.[Apache2]
  • OpenCV :zap:-开源计算机视觉. [BSD]
  • OpenEXR -用于高动态范围成像的跨平台库. [修改后的BSDF]
  • OpenImageIO -强大的图像和纹理处理库,支持多种常见的有损和RAW格式. [修改后的BSD]
  • Simd -使用SIMD的C ++图像处理库:SSE,SSE2,SSE3,SSSE3,SSE4.1,SSE4.2,AVX,AVX2,AVX-512,VMX(Altivec)和VSX(Power7),NEON for ARM. [麻省理工学院]
  • stb-image -STB单头图像加载库. [公共区域]
  • tesseract-ocr -OCR引擎. [Apache2]
  • TinyEXIF -JPEG符合ISO的微小C ++ EXIF和XMP解析库. [麻省理工学院]
  • Video++ -C ++ 14高性能视频和图像处理库. [麻省理工学院]
  • VIGRA -用于图像分析的通用C ++计算机视觉库. [MIT X11]
  • VTK -用于3D计算机图形,图像处理和可视化的开源免费软件系统. [BSD]

Internationalization

  • gettext -GNU'gettext'. [GPL2]
  • IBM ICU -一组提供Unicode和全球化支持的C / C ++和Java库. [ICU]
  • libiconv -不同字符编码之间的编码转换库. [GPL]
  • utf8.h -用于C和C ++的单头utf8字符串函数. [无牌]
  • utf8proc -一个干净的C库,用于处理UTF-8 Unicode数据. [麻省理工学院]

Inter-process communication

  • Apache Thrift - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2]
  • Cap'n Proto -快速的数据交换格式和基于功能的RPC系统. [麻省理工学院] website
  • gRPC -高性能,开源通用RPC框架. [BSD] website
  • Ice - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2]
  • libjson-rpc-cpp -用于C ++服务器和客户端的JSON-RPC框架. [麻省理工学院]
  • nanomsg -几个“可伸缩性协议”的简单高性能实现. [麻省理工学院] website
  • nng -nanomsg-下一代,轻量级的无代理消息传递库. [麻省理工学院] website
  • rpclib -现代的C ++ msgpack-RPC服务器和客户端库. [麻省理工学院]
  • simple-rpc-cpp -C / C ++函数的简单RPC包装器生成器. [BSD]
  • WAMP -提供RPC和发布/订阅消息模式. (各种实现,各种语言)
  • xmlrpc-c -基于XML和HTTP的轻量级RPC库. [BSD]

JSON

  • Boost.PropertyTree -属性树解析器/生成器,可用于解析XML / JSON / INI / Info文件. [促进]
  • cJSON -ANSI C中的超轻量JSON解析器.[MIT]
  • frozen -用于C / C ++的JSON解析器和生成器. [GPL和GPL2]
  • Jansson -C库,用于编码,解码和处理JSON数据. [麻省理工学院]
  • jbson -jbson是一个库,用于在C ++ 14中构建和迭代BSON数据以及JSON文档. [促进]
  • JeayeSON -非常理智的(仅标头)C ++ JSON库. [BSD]
  • Jsmn -C语言中的简约JSON解析器.
  • json :zap:-JSON用于现代C ++. [麻省理工学院]
  • JSON++ -C ++中的JSON解析器. [麻省理工学院]
  • json.h -在C和C ++中解析JSON的一种简单的单头/单源解决方案. [无牌]
  • json-c -在C中的JSON实现.[MIT]
  • JsonCpp -用于与JSON交互的C ++库. [麻省理工学院]
  • json-parser -用可移植的ANSI C编写的占用空间极小的JSON解析器.
  • json11 -适用于C ++ 11的小型JSON库. [麻省理工学院]
  • json-voorhees -C ++的JSON库. 支持C ++ 11. 没有依赖关系,快速且对开发人员友好. [Apache2]
  • jute -非常简单的C ++ JSON解析器. [公共区域]
  • libjson -C中的JSON解析器和打印机库,易于与任何模型集成. [LGPL]
  • libjson -轻量级JSON库. [?]
  • LIBUCL :zap:-通用配置库解析器[BSD-2-Clause]
  • parson -帕森(Parson)是用C语言编写的轻量级json库.
  • PicoJSON -C ++中仅标头文件的JSON解析器序列化器. [BSD]
  • qt-json -一个简单的类,用于将JSON数据解析为QVariant层次结构,反之亦然. [GPLv3]
  • QJson -一个基于qt的库,它将JSON数据映射到QVariant对象. [LGPL2]
  • RapidJSON :zap:-具有SAX / DOM样式API的C ++快速JSON解析器/生成器. [麻省理工学院]
  • sajson -用于C ++ 11的轻量级,高性能的JSON解析器. [麻省理工学院]
  • simdjson -极快的JSON库,每秒可以解析千兆字节的JSON. [Apache-2.0]
  • taoJSON -零依赖性C ++仅标头JSON库. [麻省理工学院]
  • ujson -µjson是一个小型C ++ 11,UTF-8,JSON库. [麻省理工学院]
  • YAJL -C中的快速流式JSON解析库.[ISC]

Logging

  • Blackhole -基于属性的日志记录框架,该框架旨在快速,模块化和高度可定制. [麻省理工学院]
  • Boost.Log -设计成非常模块化和可扩展的. [促进]
  • Easylogging++ -用于C ++ 11(或更高版本)应用程序的超轻量级高性能日志记录库. [麻省理工学院] website
  • G3log -带有动态接收器的异步记录器. [公共区域]
  • glog -Google日志记录模块的C ++实现.
  • Log4cpp -C ++类的库,用于灵活地记录到文件,系统日志,IDSA和其他目标. [LGPL]
  • log4cplus -简单易用的C ++日志记录API,可提供对日志管理和配置的线程安全,灵活且任意粒度的控制. [BSD和Apache2]
  • loguru -轻量级的C ++日志记录库. [公共区域]
  • plog -少于1000行代码的C ++便携式和简单日志. [MPL2]
  • reckless -用于C ++的低延迟,高吞吐量的异步日志记录库. [麻省理工学院]
  • spdlog -超快速,仅标头,C ++日志记录库.
  • templog -一个非常轻巧的C ++库,可用于将日志记录添加到C ++应用程序. [促进]
  • P7Baical -一个开放源代码和跨平台的库,可在不占用大量CPU和内存的情况下高速发送遥测和跟踪数据. [LGPL]

Machine Learning

  • Caffe -神经网络的快速框架. [BSD]
  • CCV -基于C /缓存/核心的计算机视觉库,现代计算机视觉库. [BSD]
  • darknet -用C和CUDA编写的开源神经网络框架. [公共区域] website
  • Dlib :zap:-现代C ++ 11机器学习,计算机视觉,数值优化和深度学习工具包. [促进] website
  • Fido -用于嵌入式电子和机器人技术的高度模块化的C ++机器学习库. [麻省理工学院] website
  • flashlight -来自Facebook AI Research的快速,灵活的机器学习库,完全基于C ++编写,并基于ArrayFire张量库. [BSD-3-Clause] website
  • libsvm -支持向量机的简单,易用,高效的库. [BSD-3-Clause] website
  • MeTA -现代的C ++数据科学工具包. [麻省理工学院] website
  • Minerva -快速,灵活的深度学习系统. [Apache2]
  • mlpack -可扩展的c ++机器学习库. [LGPLv3] website
  • OpenCV :zap:-开源计算机视觉库. [BSD] website
  • Recommender -使用协作过滤(CF)的产品推荐/建议的C库. [BSD]
  • RNNLIB -RNNLIB是用于序列学习问题的循环神经网络库. [GPLv3]
  • SHOGUN -Shogun机器学习工具箱. [GPLv3]
  • sofia-ml -用于机器学习的快速增量算法套件. [Apache2]
  • VLFeat -VLFeat开源库实现了流行的计算机视觉算法,这些算法专门用于图像理解以及局部特征提取和匹配. [BSD-2-Clause] website
  • xgboost -适用于Python,R,Java,Scala,C ++等的可扩展,便携式和分布式梯度增强(GBDT,GBRT或GBM)库. 在单机,Hadoop,Spark,Flink和DataFlow上运行. [Apache2]

Math

  • Apophenia -统计和科学计算交流图书馆[GPL2]
  • Armadillo -用于线性代数和科学计算的快速C ++库. [Apache2] website
  • blaze -用于密集和稀疏算术的高性能C ++数学库. [BSD]
  • Boost.Multiprecision -在C ++,仅标头或GMP / MPFR / LibTomMath后端中提供更高范围/精度的整数,有理数和浮点数类型. [促进]
  • ceres-solver -用于从Google建模和解决大型复杂的非线性最小二乘问题的C ++库. [BSD]
  • CGAL -收集高效,可靠的几何算法. [LGPL&GPL] website
  • cml -用于游戏和图形的免费C ++数学库. [促进]
  • Dlib :zap:-现代C ++ 11机器学习,计算机视觉,数值优化和深度学习工具包. [促进] website
  • Eigen -模板标头的高级C ++库,用于线性代数,矩阵和矢量运算,数值求解器和相关算法. [MPL2]
  • ExprTK -C ++数学表达式工具包库(ExprTk)是易于使用,易于集成且运行效率极高的运行时数学表达式解析器和评估引擎. [麻省理工学院]
  • Geometric Tools -C ++库,用于数学,图形,图像分析和物理学领域的计算. [促进] website
  • GLM -仅标题的C ++数学库,可与OpenGL的GLSL数学匹配并互操作. [麻省理工学院] website
  • GMTL -图形数学模板库是以通用方式实现图形基元的工具的集合. [GPL2]
  • GMP -用于任意精度算术的AC库,对有符号整数,有理数和浮点数进行运算. [LGPL3和GPL2]
  • linalg.h -单头,公共领域,C ++的短向量数学库. [无牌]
  • MIRACL -多精度整数和有理数算法密码库. [AGPL]
  • muparser -muParser是用C ++编写的可扩展高性能数学表达式解析器库. [麻省理工学院]
  • LibTomMath -完全用C编写的免费开源可移植数字理论多精度整数库.[PublicDomain&WTFPL] website
  • linmath.h -精益线性数学库,主要用于图形编程. [WTFPL]
  • lp_solve -用于制定和解决线性编程问题的库. [LGPL] website
  • OpenBLAS -基于GotoBLAS2 1.13 BSD版本的优化BLAS库. [BSD 3句] website
  • QuantLib -一个免费/开源的数量金融库. [修改后的BSD] website
  • StatsLib -统计分布函数的C ++仅标头库. [Apache2] website
  • SymEngine -快速的符号操作库,用C ++重写了SymPy的核心. [麻省理工学院]
  • TinyExpr -AC库,用于解析和评估字符串中的数学表达式. [zlib]
  • Vc -C ++的SIMD矢量类. [BSD]
  • Versor -一个用于几何代数的(快速)通用C ++库,包括欧几里得,射影,保形,时空等.
  • Wykobi -高效,强大且易于使用的面向C ++ 2D / 3D的计算几何例程的C ++库. [麻省理工学院]
  • xtensor -受NumPy语法启发的C ++ 14库,用于使用多维数组表达式进行数值分析. [BSD 3句] website

Memory Allocation

  • Boehm GC -C和C ++的保守垃圾收集器. [类似于X11] website
  • C Smart Pointers -(GNU)C编程语言的智能指针. [麻省理工学院]
  • Hoard -适用于Linux,Windows和Mac的快速,可扩展和内存高效的Malloc. [GPL,商业] website
  • jemalloc -强调碎片避免和可伸缩并发支持的通用malloc(3)实现. [BSD] website
  • memory -兼容STL的C ++内存分配器库. [ZLib]
  • memory-allocators -自定义内存分配器,以提高动态内存分配的性能. [麻省理工学院]
  • mimalloc -具有出色性能的紧凑型通用分配器. [麻省理工学院]
  • tgc -用\〜500 LOC编写的C语言微型垃圾收集器. [BSD]

Multimedia

  • GStreamer -用于构造媒体处理组件图的库. [LGPL]
  • libass -用于ASS / SSA字幕格式的便携式字幕渲染器. [ISC]
  • LIVE555 Streaming Media -使用开放标准协议(RTP / RTCP,RTSP,SIP)的多媒体流媒体库. [LGPL]
  • libVLC -libVLC(VLC SDK)媒体框架. [GPL]
  • MediaInfoLib -方便统一显示视频和音频文件中最相关的技术和标签数据. [BSD]
  • QtAv -基于Qt和FFmpeg的多媒体播放框架,可轻松编写播放器. [LGPL] website
  • SDL :zap:-简单的DirectMedia层. [zlib]
  • SFML :zap:-简单快速的多媒体库. [zlib] website
  • TagLib -用于读取和编辑几种流行音频格式的元数据的库. [LGPL / MPL] website

Networking

  • ACE -C ++中的OO网络编程工具包. [?MIT?]
  • Boost.Asio :zap:-用于网络和底层I / O编程的跨平台C ++库. [促进]
  • Boost.Beast :zap:-在C ++ 11中基于Boost.Asio构建的HTTP和WebSocket. [BSL-1.0] website
  • Breep -基于事件的高级C ++ 14对等库. [EUPL-1.1(OSI批准)]
  • C++ REST SDK -C ++ REST SDK(以前称为Casablanca). [Apache2]
  • Restbed -C ++ 11异步RESTful框架. [AGPL]
  • Restinio -仅标头的C ++ 14库,为您提供嵌入式HTTP / Websocket服务器. [BSD]
  • c-ares -用于异步DNS请求的AC库. [麻省理工学院]
  • cpp-httplib -单个文件C ++ 11-only-Header HTTP / HTTPS服务器库. [麻省理工学院]
  • cpp-netlib -一组用于高级网络编程的开源库. [促进]
  • cpp-netlib/uri -C ++的URI解析器/生成器库,与RFC 3986和RFC 3987兼容.[BSL-1.0]
  • cpr -具有简单但功能强大的界面的现代C ++ HTTP请求库. 模仿Python Requests模块. [麻省理工学院] website
  • curlcpp -用于CURL(libcurl)的面向对象的C ++包装器. [麻省理工学院]
  • DPDK -用于快速数据包处理的数据平面开发套件,库和驱动程序. [BSD-3-条款和GPL-2.0] website
  • Dyad.c -C的异步网络.[MIT]
  • ENet -可靠的UDP网络库. [麻省理工学院] website
  • evpp -具有TCP / UDP / HTTP协议的C ++高性能网络. [BSD]
  • H2O -优化的HTTP服务器,支持HTTP / 1.x和HTTP / 2. 它也可以用作库. [麻省理工学院]
  • HTTP Parser :zap:-C的http请求/响应解析器.[MIT]
  • KCP -快速可靠的ARQ协议,可帮助应用程序减少网络延迟. [麻省理工学院]
  • libcurl -多协议文件传输库. [MIT / X衍生许可证]
  • libhttpserver -用于创建嵌入式Rest HTTP服务器(以及更多)的C ++库. [LGPL2.1]
  • Libmicrohttpd -GNU libmicrohttpd是一个小型C库,应该可以轻松地将HTTP服务器作为另一个应用程序的一部分运行. [LGPL v2.1 +]
  • libpcap -用于网络流量捕获的便携式C / C ++库. [BSD] website
  • libquic -从Chromium的QUIC实施中提取的QUIC协议库. [BSD]
  • librdkafka -适用于C和C ++的Apache Kafka客户端库. [BSD-2-Clause]
  • libwebsockets -提供客户端和服务器库的轻量级纯C WebSocket实现. [LGPL2.1 +静态链接异常] website
  • lwIP -轻量级的TCP / IP堆栈. [修改后的BSD]
  • Mongoose -非常轻巧的Web服务器. [GPL2]
  • MQTT-C -适用于嵌入式系统和PC的便携式MQTT C客户端. [麻省理工学院] website
  • mTCP -用于多核系统的高度可扩展的用户级TCP堆栈. [修改后的BSD]
  • Muduo -Linux中用于多线程服务器的C ++非阻塞网络库. [BSD]
  • nghttp2 -HTTP / 2 C库. [麻省理工学院] website
  • Onion - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2]
  • PF_RING™ -高速数据包处理框架. [LGPL-2.1] website
  • PicoHTTPParser -小型,原始,快速的HTTP请求/响应解析器. [麻省理工学院]
  • POCO :zap:-C ++类库和框架,用于构建在台式机,服务器,移动和嵌入式系统上运行的基于网络和Internet的应用程序. [促进] website
  • Proxygen -Facebook的C ++ HTTP库集合,包括易于使用的HTTP服务器. [BSD]
  • RakNet - A cross platform, open source, C++ networking engine for game programmers. [BSD]
  • restclient-cpp -适用于C ++的简单REST客户端. 它包装libcurl用于HTTP请求. [麻省理工学院]
  • Seasocks -具有WebSockets支持的简单,小型,C ++可嵌入式Web服务器. [BSD]
  • Silicon -面向中间件的高性能C ++ 14 http Web框架. [麻省理工学院]
  • Tufão -基于Qt构建的C ++异步Web框架. [LGPL2]
  • uriparser -严格符合RFC 3986的URI解析和处理库. [BSD-3-Clause]
  • uWebSockets -µWS是最轻便,高效和可扩展的WebSocket和HTTP服务器实现之一. [Zlib]
  • WAFer -基于AC语言的超轻型软件平台,用于可扩展的服务器端和网络应用程序. 为C程序员考虑一下node.js. [GPL2]
  • Wangle -客户端/服务器应用程序框架,用于构建异步的,事件驱动的现代C ++服务. [Apache-2.0]
  • wdt -可嵌入式库(和命令行工具),旨在通过多个TCP路径尽可能快地在2个系统之间传输数据. [BSD-3-Clause]
  • WebSocket++ -基于C ++ / Boost Asio的websocket客户端/服务器库. [BSD]
  • PcapPlusPlus -多平台C ++网络嗅探和数据包解析与制作框架. [无牌]
  • ZeroMQ -高速,模块化异步通信库. [LGPL] website

PDF

用于解析和处理PDF文档的库.

  • libharu -用于生成PDF的免费,跨平台,开源软件库. [zlib]
  • MuPDF -轻量级的PDF,XPS和电子书查看器. [AGPL /商业]
  • PoDoFo -使用PDF文件格式的库. [LGPL]
  • Poppler -基于xpdf-3.0代码库的开源多后端PDF渲染库. [GPLv2 / GPLv3]
  • Xpdf -Xpdf是免费的PDF查看器和工具包,包括文本提取器,图像转换器,HTML转换器等. [GPL v2 / GPL v3]
  • DynaPDF -易于使用的PDF生成库. [商业]

Physics

动力学仿真引擎

  • Box2D -游戏的2D物理引擎. [类似BSD]
  • Bullet -游戏的3D物理引擎. [zlib] website
  • Chipmunk - A fast and lightweight 2D game physics library. [MIT] website
  • LiquidFun -游戏的2D物理引擎. [类似BSD]
  • Newton Dynamics -用于物理环境实时仿真的集成解决方案. [zlib]
  • ODE -Open Dynamics Engine-一个开源的高性能库,用于模拟刚体动力学. [BSD&LGPL]
  • ofxBox2d -Box2D的openFrameworks包装器. [类似BSD]
  • PhysX -由Nvidia作为Nvidia GameWorks软件套件的一部分开发的开源实时物理引擎中间件SDK. [BSD-3-Clause]
  • Project Chrono -开源的多物理场仿真引擎. [BSD-3-Clause] website
  • Simbody -高性能的C ++多体动力学/物理库,用于模拟关节运动的生物力学和机械系统,例如车辆,机器人和人体骨骼. [Apache2]
  • Quantum++ -现代的C ++ 11量子计算库. [麻省理工学院]

Reflection

  • Better Enums -反射性枚举(字符串,迭代). 单头. [BSD] website
  • clReflect -使用clang进行C ++反射. [麻省理工学院]
  • CPFG -一个C ++ 03库,用于反射,回调和脚本绑定. [Apache2] website
  • CPP-Reflection -使用clang进行C ++反射. [麻省理工学院]
  • Magic Enum -仅标头的C ++ 17库为枚举(到字符串,从字符串,迭代)提供枚举的静态反射,可与任何枚举类型一起使用,而无需任何宏或样板代码. [麻省理工学院]
  • magic_get -std :: tuple类似用户定义类型的方法,没有任何宏或样板代码. [促进]
  • meta -C ++中的仅标头,非侵入性且无宏的运行时反射系统. [麻省理工学院]
  • Nameof -仅标头的C ++ 17库提供了nameof宏和函数,以获取变量,类型,函数,宏和枚举的简单名称. [麻省理工学院]
  • Ponder - A C++11 library for reflection. [MIT]
  • RTTR - A C++11 library for reflection. [MIT] website
  • visit_struct -在C ++中用于结构域反射的微型库. [BSL-1.0]

Regular Expression

  • CppVerbalExpressions -C ++正则表达式变得简单. [麻省理工学院]
  • CTRE -编译时PCRE(几乎)兼容的正则表达式匹配器. [麻省理工学院]
  • Hyperscan -Hyperscan是Intel的高性能多正则表达式匹配库. 提供大量正则表达式(最多数万个)的同时匹配. 通常在DPI库堆栈中使用. [BSD]
  • Oniguruma -一个现代且灵活的正则表达式库,支持多种字符编码. [BSD]
  • PCRE -受Perl中正则表达式功能启发的正则表达式C库. [BSD]
  • PIRE -Yandex的Perl不兼容正则表达式库. 可以非常快(超过400 MB / s). [LPGL v3.0]
  • RE2 -使用自动机理论通过有限状态机进行正则表达式的软件库. [BSD-3-Clause]
  • SLRE -适用于C / C ++的Super Light Regexp引擎. [GPLv2 /商业版]
  • sregex -基于NFA / DFA的非回溯的Perl兼容正则表达式引擎库,用于匹配大型数据流. [BSD]

Robotics

  • MOOS-IvP -一组开放源代码的C ++模块,用于在机器人平台(特别是自动驾驶的海上航行器)上提供自治.
  • MRPT -移动机器人编程工具包. [BSD]
  • PCL -点云库是一个独立的,大规模的,开放的项目,用于2D / 3D图像和点云处理[BSD] website
  • Robotics Library (RL) -完整的C ++库,用于机器人运动学,运动计划和控制. [BSD]
  • RobWork -一组用于仿真和控制机器人系统的C ++库. [Apache2] website
  • ROS -机器人操作系统提供了库和工具来帮助软件开发人员创建机器人应用程序. [BSD]

Scientific Computing

  • AMGCL -仅标头的C ++库,用于使用代数多重网格解决大型稀疏线性系统. [麻省理工学院]
  • FFTW -用于在一维或多维中计算DFT的AC库. [GPL]
  • GSL -GNU科学图书馆. [GPL]
  • TileDB -快速密集和稀疏多维阵列DBMS. [麻省理工学院] website
  • Trilinos -高性能PDE求解器. [BSD]
  • Torch -具有广泛支持机器学习算法的科学计算框架,该技术将GPU放在首位. [BSD-3-Clause] website

Scripting

  • AngelScript -AngelScript是一种面向游戏的解释/编译脚本语言. [zlib]
  • Boost.Python -一个C ++库,可实现C ++和Python编程语言之间的无缝互操作性. [促进]
  • cppimport -直接从Python导入C ++文件! [麻省理工学院]
  • CppSharp -将C / C ++ API粘合到高级语言的工具和库. [麻省理工学院]
  • ChaiScript -一种易于使用的C ++嵌入式脚本语言. [BSD] website
  • ctypes.sh -bash的外部功能接口. [麻省理工学院]
  • Cython -Cython是针对Python编程语言和扩展的Cython编程语言(基于Pyrex)的优化静态编译器. 它使为Python编写C扩展与Python本身一样容易. [Apache] website
  • djinni -生成跨语言类型声明和接口绑定的工具. [Apache2]
  • Duktape -占用空间小的嵌入式Javascript引擎. [麻省理工学院] website
  • JavaCpp - The missing bridge between Java and native C++. [Apache2]
  • libffi -便携式外部功能接口库. [麻省理工学院] website
  • Lua -用于配置文件和基本应用程序脚本的最小且快速的脚本引擎. [麻省理工学院]
  • LuaBridge -轻量级,无依赖的库,用于将Lua绑定到C ++. [麻省理工学院]
  • luacxx -用于创建Lua绑定的C ++ 11 API. [麻省理工学院]
  • nbind -神奇的标头,可从JavaScript访问C ++库. [麻省理工学院]
  • PHP-CPP -一个库,用于使用C ++构建PHP扩展. [Apache2] website
  • pybind11 -C ++ 11和Python之间的无缝可操作性. [BSD]
  • SIP -适用于Python v2和v3的C或C ++绑定生成器. [GPL]
  • sol2 -具有高级功能和一流性能的C ++ <-> Lua API包装器. [麻省理工学院]
  • SWIG -包装器/接口生成器,可用于将c ++代码链接到Javascript,Perl,PHP,Python,Tcl和Ruby. [GPL /输出未获得许可] website
  • V7 -嵌入式JavaScript引擎. [GPL2]
  • V8 -Google提供的快速JavaScript引擎,可以嵌入到任何C ++应用程序中. [BSD]
  • ChakraCore -Microsoft提供的JavaScript引擎,可以嵌入到nodejs中. [麻省理工学院]

Serialization

  • Bitsery -仅标头的C ++二进制序列化库. [麻省理工学院]
  • Bond -用于处理模式化数据的开源,跨平台框架. [麻省理工学院]
  • Boost.Serialization -Boost序列化库. [促进]
  • Cap'n Proto -快速的数据交换格式和基于功能的RPC系统. [麻省理工学院] website
  • cereal -一个用于序列化的C ++ 11库. [BSD]
  • cppcodec -仅标头的C ++ 11库,以一致,灵活的API编码/解码base64,base32和hex. [麻省理工学院]
  • FlatBuffers -内存有效的序列化库. [Apache2]
  • MessagePack -适用于C和C ++的高效二进制序列化格式“如JSON”. [Apache2] website
  • nanopb -ANSI C中小的代码大小的协议缓冲区实现.[Zlib]
  • protobuf -协议缓冲区-Google的数据交换格式. [BSD]
  • protobuf-c -在C中实现协议缓冲区.[BSD]
  • SimpleBinaryEncoding -以低延迟应用程序的二进制格式编码和解码应用程序消息. [Apache2]
  • upb -在C中的一个小型protobuf实现.[BSD]
  • YAS -非常快另一个 S 序列化库支持二进制/文本/ json格式. [促进]

Sorting

  • pdqsort -破坏模式的快速排序. [zlib]
  • Timsort -模板化的稳定排序功能,其性能优于基于快速排序的算法(包括std :: sort),适用于反向或半排序数据. [麻省理工学院]

Video

  • libvpx -VP8 / VP9编解码器SDK. [BSD]
  • FFmpeg -完整的跨平台解决方案,用于记录,转换和流式传输音频和视频. [LGPL2 / GPL2]
  • libde265 -打开h.265视频编解码器实施. [LGPL] website
  • x265 -打开h.265视频编解码器实施. [GPL2] website
  • OpenH264 -开源H.264编解码器. [BSD] website
  • Theora -免费开放的视频压缩格式. [BSD]
  • Vireo -Twitter的轻量级多功能视频处理库. [麻省理工学院]

Virtual Machines

  • CarpVM -C语言中的“有趣” VM.让我们看看这是怎么回事. [GPLv3]
  • MicroPython -旨在在微控制器上实现Python 3.x的实现. [麻省理工学院]
  • TinyVM -用纯ANSI C编写的小型,快速,轻巧的虚拟机.

Web Application Framework

  • Civetweb -提供易于使用,功能强大的C / C ++嵌入式Web服务器,并具有可选的CGI,SSL和Lua支持. [麻省理工学院]
  • C++ REST SDK -使用现代异步C ++ API设计以本机代码进行基于云的客户端-服务器通信的Microsoft项目. [麻省理工学院]
  • CppCMS -免费的高性能Web开发框架(而非CMS). [LGPLv3]
  • Crow -Crow是C ++微型网络框架(受Python Flask启发). [BSD]
  • Cutelyst -使用Catalyst(Perl)框架的简单方法,在Qt之上构建的C ++ Web框架. [LGPLv2.1 +] website
  • Drogon -基于C ++ 14/17的高性能HTTP应用程序框架. [麻省理工学院]
  • facil.io -事件丰富的高性能C Web框架,支持HTTP,WebSocket,SSE等. [麻省理工学院] website
  • Kore -用C开发的用于Web应用程序的超快速和灵活的Web服务器/框架.[ISC]
  • libOnion -轻量级的库,可帮助您使用C编程语言创建Web服务器. [LGPLv3]
  • lwan -实验性,可扩展的高性能HTTP服务器. [GPL2]
  • oat++ -轻巧,零依赖的框架可创建高性能的Web服务. [Apache-2.0] website
  • Pistache -Pistache是​​一个用纯C ++ 11编写的C ++ REST框架,没有外部依赖性. [Apache2]
  • QDjango -用C ++编写并在Qt库之上构建的Web框架. 在可能的情况下,它尝试遵循django的API,因此取其名称. [LGPL]
  • TreeFrog Framework -基于C ++和Qt的高速,全栈Web应用程序框架,支持HTTP和WebSocket协议(带有O / R映射). [BSD] website
  • Wt -用于开发Web应用程序的C ++库. [GPL /商业]

XML

  • XML是废话. 真. 没有任何借口. XML对于人类而言是令人讨厌的解析,甚至对于计算机而言也是如此. 那种可怕的废话根本没有理由存在. -Linus Torvalds *

  • Boost.PropertyTree -属性树解析器/生成器,可用于解析XML / JSON / INI / Info文件. [促进]

  • Expat -用C语言编写的XML解析器库.
  • Libxml2 -Gnome的XML C解析器和工具包. [麻省理工学院]
  • libxml++ -C ++的XML解析器. [LGPL2]
  • Mini-XML -用ANSI C编写的小型XML解析库.[LGPL2除外]
  • PugiXML -具有XPath支持的C ++轻巧,简单,快速的XML解析器. [麻省理工学院]
  • RapidXml -尝试创建最快的XML解析器,同时保留可用性,可移植性和合理的W3C兼容性. [促进]
  • TinyXML -一个简单,小型,最小的C ++ XML解析器,可以轻松集成到其他程序中. [zlib]
  • TinyXML2 -一个简单,小型,高效的C ++ XML解析器,可以轻松集成到其他程序中. [zlib]
  • TinyXML++ -TinyXML的全新接口,使用了许多C ++优势. 模板,异常和更好的错误处理. [麻省理工学院]
  • Xerces-C++ -用C ++的可移植子集编写的验证XML解析器. [Apache2]

Miscellaneous

有用的库或工具不适合上述类别,或者可能尚未分类

  • access_profiler -一种用于计算对c ++程序中成员变量的访问的工具. [GPL3]
  • American fuzzy lop aka afl-fuzz-疯狂的模糊测试工具,可以在给定时间和最少示例输入的情况下自动发现错误. [Apache2]
  • Better String -C字符串库的替代方法,它的功能更强大,并且没有缓冲区溢出超限问题. 还包括一个C ++包装器. [BSD,GPL2]
  • Boost.Signals -托管信号和时隙系统的实现. [促进]
  • CPPItertools -受Python内置函数和itertools库启发的基于范围的for循环插件. [BSD-2-Clause]
  • DynaMix -一个允许您在运行时组成和修改对象的库. [麻省理工学院]
  • {fmt} :zap:-C ++的小型,安全,快速格式化库. [简体BSD]
  • FastFormat -受log4j和Pantheios启发的快速,安全的C ++格式[简体BSD]
  • casacore -一组从aips ++派生的c ++核心库. [LGPL]
  • QtVerbalExpressions -此Qt库基于C ++ VerbalExpressions库. [麻省理工学院]
  • cxx-prettyprint -一个漂亮的C ++容器打印库. [促进]
  • icecream-cpp -用于调试目的的小型打印库. [麻省理工学院]
  • gcc-poison -一个简单的头文件,供开发人员禁止应用程序中不安全的C / C ++函数.
  • Kangaru -C ++ 11和C ++ 14的依赖项注入容器. [麻省理工学院]
  • Klib -通用算法和数据结构的小型轻量级实现. [麻省理工学院]
  • libsigc++ -用于标准C ++的类型安全的回调系统. [LGPL]
  • libcpuid -用于x86 CPU检测和特征提取的小型C库. [BSD]
  • libevil -邪恶的许可证管理器. [GPLv3]
  • libnih -轻量级的C函数和结构库. [GPL2.1]
  • libusb -通用USB库,允许便携式访问USB设备. [LGPL2]
  • Mach7 -用于C ++的模式匹配库. [BSD]
  • mio -用于内存映射文件IO的跨平台C ++ 11仅限标头的库. [麻省理工学院]
  • PEGTL -解析表达式语法模板库. [麻省理工学院]
  • Remote Call Framework -C ++的进程间通信框架. [GPL2 / Commercial]
  • Scintilla -一个免费的源代码编辑组件. [麻省理工学院]
  • SDS -C的简单动态字符串库.[BSD]
  • semver.c -一个解析器解析器,并在ANSI C中呈现.[MIT]
  • Serial Communication Library -用C ++编写的跨平台串行端口库. [麻省理工学院]
  • sigslot -C ++信号/插槽库. [公共区域]
  • SimpleSignal -高性能C ++ 11信号. [公共区域]
  • Stage -移动机器人模拟器. [GPL2]
  • stdman 格式化的C ++ 11/14 stdlib手册页(来自cppreference). [麻省理工学院]
  • stb :zap:-一系列用于C / C ++的单文件库. [公共区域]
  • StrTk -由高性能字符串处理例程组成的C ++库. [麻省理工学院]
  • Tulip Indicators -超过100种财务技术分析指标的AC库. [LGPL]
  • ub-canaries -一组试图使编译器利用未定义行为的C / C ++程序.
  • value-category-cheatsheet 用于左值,右值等的PDF备忘单. [Jan copyleft]
  • VarTypes -一个功能丰富的,面向对象的框架,用于管理C ++ / Qt4中的变量. [LGPL]
  • ZBar -条形码扫描器库,该库允许扫描照片/图像/视频流中的条形码并返回其值. [LGPL2]
  • ZXing -用Java实现的开源,多格式1D / 2D条码图像处理库,并带有其他语言的端口. [Apache]

Software

用于创建开发环境的软件.

Compiler

  • C或C ++编译器列表*

  • 8cc -小型C编译器.

  • c -一次性编译并执行C“脚本”! [麻省理工学院]
  • Clang -LLVM的AC编译器. 支持C ++ 11/14 / 1z C11. 由LLVM团队开发. [NCSA]
  • GCC -GNU编译器集合. 支持C ++ 11/14 / 1z C11和OpenMP. [GNU GPL3]
  • PCC -一个非常老的C编译器. 支持C99.
  • Intel C++ Compiler -由Intel开发.
  • LLVM -集合了可重复使用的模块化编译器和工具链技术.
  • Microsoft Visual C++ -MSVC,由Microsoft开发.
  • Open WatCom -Watcom C,C ++和Fortran交叉编译器和工具. [Sybase Open Watcom公共许可证]
  • Oracle Solaris Studio -用于SPARC和x86的C,C ++和Fortran编译器. 支持C ++ 11 在Linux和Solaris上可用. [OTN开发人员许可证]
  • TCC -Tiny C编译器. [LGPL]

Online Compiler

在线C或C ++编译器列表

  • codepad -在线编译器/解释器和简单的协作工具.
  • coliru -在线编译器/ shell,支持各种C ++编译器.
  • Compiler Explorer -具有汇编输出的交互式编译器.
  • CompileOnline -在Linux上在线编译和执行C ++.
  • Ideone -在线编译器和调试工具,可让您编译源代码并以60多种编程语言在线执行.
  • repl.it -针对教育者,学习者和开发人员的强大而简单的工具和平台.
  • Rextester -在线编译器,提供多个编译器(Clang,GCC,MSVC)和多个编辑器.
  • Try It Online -TIO是一系列在线口译员,他们提供越来越多的实用和休闲编程语言.
  • Wandbox -带有Boost的在线Clang / GCC编译器.

Debugger

  • C或C ++调试器列表*

  • Comparison of debuggers -维基百科的调试器列表.

  • GDB -GNU调试器.
  • LLDB -LLDB调试器.
  • Metashell -交互式模板元编程外壳,其中包括MDB元调试器.
  • Valgrind -用于内存调试,内存泄漏检测和性能分析的工具.
  • x64dbg -Windows的开源x64 / x32调试器.

Integrated Development Environment

  • C或C ++标称IDE列表.*

  • Anjuta DevStudio -GNOME IDE. [GPL3]

  • AppCode -在JetBrains的IntelliJ IDEA平台上构建的,用于Objective-C,C,C ++和JavaScript开发的IDE.
  • Cevelop -基于Eclipse CDT的跨平台C和C ++ IDE,带有附加插件.
  • CLion -来自JetBrains的跨平台C和C ++ IDE.
  • Code::Blocks -免费的C,C ++和Fortran IDE.
  • CodeLite -另一个跨平台的免费C和C ++ IDE. [GPL2,插件例外]
  • color_coded -用于基于libclang突出显示的vim插件. [麻省理工学院]
  • Dev-C++ -便携式C / C ++ / C ++ 11 IDE.
  • Eclipse CDT -基于Eclipse平台的功能齐全的C和C ++ IDE.
  • Geany -小型,快速,跨平台的IDE. [GPL]
  • IBM VisualAge -IBM提供的一系列计算机集成开发环境.
  • Irony-mode -由libclang支持的Emacs的AC / C ++次要模式.
  • juCi++ -具有libclang集成的跨平台,轻量级C ++ IDE. [麻省理工学院]
  • KDevelop -免费的开源IDE.
  • Microsoft Visual Studio -来自Microsoft的IDE.
  • NetBeans -一个IDE,主要使用Java开发,也可以使用其他语言(特别是PHP,C / C ++和HTML5)进行开发.
  • Qt Creator :zap:-跨平台的C ++,JavaScript和QML IDE,它是Qt SDK的一部分.
  • rtags -用于与基于clang的emacs集成的c / c ++客户端/服务器索引器.
  • Xcode -由Apple开发.
  • YouCompleteMe -YouCompleteMe是用于Vim的快速,按需输入,模糊搜索代码完成引擎.
  • cquery -用于vscode,emacs,vim等的C ++代码完成引擎.

Build Systems

  • Bazel -Google提供的多语言,快速且可扩展的构建系统. [Apache]
  • Bear -生成用于clang工具的编译数据库的工具. [GPLv3]
  • Buck -快速构建系统,鼓励通过各种平台和语言(包括在Facebook开发和使用的C ++)创建小的可重用模块. 用Java编写. [Apache]
  • clib -C编程语言的程序包管理器. [麻省理工学院]
  • CMake -跨平台的免费开源软件,用于使用与编译器无关的方法来管理软件的构建过程. [BSD]
  • C++ Archive Network -具有许多可用程序包的跨平台C ++依赖管理器.
  • Cget -Cmake软件包检索. [促进] website
  • Conan -C / C ++程序包管理器,开源. [麻省理工学院]
  • CPM -基于CMake和Git的C ++程序包管理器.
  • FASTBuild -高性能,开源构建系统,支持高度可扩展的编译,缓存和网络分发.
  • Hunter -CMake驱动的C ++跨平台软件包管理器. [BSD-2]
  • MesonBuild -一个开放源码的构建系统,它不仅要非常快,而且更重要的是要尽可能地方便用户使用.
  • Ninja -注重速度的小型构建系统.
  • Scons -使用Python脚本配置的软件构建工具.
  • Sconsolidator -Scons为Eclipse CDT构建系统集成.
  • Spack -灵活的软件包管理器,支持多个版本,配置,平台和编译器. [Apache-2.0 / MIT]
  • tundra -高性能代码构建系统,即使对于非常大的软件项目,也可提供最佳的增量构建时间.
  • tup -基于文件的构建系统,可在后台监视更改的文件.
  • Premake -使用Lua脚本配置的工具,可在Windows,Mac OS X和Linux上为Visual Studio,GNU Make,Xcode,Code :: Blocks等生成项目文件.
  • Vcpkg -适用于Windows,Linux和MacOS的C ++库管理器. [麻省理工学院]
  • waf -基于Python的框架,用于配置,编译和安装应用程序. [BSD] website
  • XMake -基于Lua的AC / C ++跨平台构建实用程序. [Apache]

Static Code Analysis

通过代码分析提高质量和减少缺陷的工具列表

  • Cppcheck -用于静态C / C ++代码分析的工具. -- source
  • CppDepend -通过分析和可视化代码依赖关系,定义设计规则,进行影响分析以及比较不同版本的代码,简化了复杂C / C ++代码库的管理.
  • cpplint -遵循Google C ++样式指南的C ++样式检查器.
  • PVS-Studio - A tool for bug detection in the source code of programs, written in C, C++ and C#.
  • cpp-dependencies - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache]
  • include-what-you-use -与clang一起使用的分析工具,包括在C和C ++源文件中. website
  • Infer -用于Java,C和Objective-C的静态分析器. [BSD]
  • OCLint -静态源代码分析工具,可提高C,C ++和Objective-C的质量并减少缺陷. -- source
  • Clang Static Analyzer -一个源代码分析工具,可发现C,C ++和Objective-C程序中的错误.
  • Linticator -Pc- / FlexeLint的Eclipse CDT集成.
  • IKOS -基于抽​​象解释理论的C / C ++静态分析器. [NOSA 1.3]
  • List of tools for static code analysis -维基百科上用于静态代码分析的工具列表.

Coding Style Tools

  • Artistic Style - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle.
  • ClangFormat -格式化C / C ++ / Obj-C代码的工具.
  • Clang-Tidy -基于Clang的C ++ linter工具.
  • EditorConfig -EditorConfig有助于在不同的编辑器和IDE之间保持一致的编码样式.
  • Uncrustify -代码美化器.

Resources

各种资源,例如用于提高C ++开发技能和知识的书籍,网站和文章.

API Design

Articles

很棒的C ++相关文章.

Books

*很棒的C或C ++相关书籍.

Coding Style

Podcasts

  • CppCast -C ++开发人员针对C ++开发人员的第一个播客.
  • CppChat -(有时)每周查看C ++世界中与社区中的来宾聊天的情况.

Talks

Videos

很棒的C或C ++相关视频.

Websites

有用的C或C ++相关网站.

Weblogs

有用的C或C ++相关博客.

Other Awesome Projects

*收集有用的代码,摘要...

Other Awesome Lists

其他很棒的清单

Contributing

请快速浏览一下 contribution guidelines 有关详细信息. 谢谢大家 contributors ; 你摇滚!