awesome-cpp - 素晴らしいC ++(またはC)フレームワーク、ライブラリ、リソース、および光沢のあるものの厳選されたリスト。素晴らしいことに触発されました-...詰め込む。

(A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.)

Created at: 2014-07-17 16:51:11
Language: NULL
License: MIT

素晴らしいC ++すごい トラック素晴らしいリスト

素晴らしいC ++(またはC)フレームワーク、ライブラリ、リソース、および光沢のあるものの厳選されたリスト。素晴らしいことに触発されました-...詰め込む。

標準ライブラリ

C ++標準ライブラリ - STLコンテナ、STLアルゴリズム、STL関数などを含む。

  • C++ 標準ライブラリ - コア言語で記述され、C++ ISO 標準自体の一部であるクラスと関数のコレクション。
  • 標準テンプレート ライブラリ - 標準テンプレート ライブラリ (STL)。
  • C POSIX ライブラリ - POSIX システム用の C 標準ライブラリの仕様。
  • ISO C++ 標準委員会 - ISO/IEC JTC1/SC22/WG21 - C++ 標準委員会ウェブサイト
  • GNU C ライブラリ - このマニュアルの目的は、GNU C ライブラリの機能の使い方を説明することです。

フレームワーク

C++ の汎用フレームワークとライブラリ。

  • abseil-cpp - Abseil C++ Common Libraries.[アパッチ2]
  • Apache C++ 標準ライブラリ - STDCXX、アルゴリズム、コンテナー、反復子、およびその他の基本コンポーネントのコレクション。[引退][アパッチ2]
  • APR - Apacheポータブルランタイム。クロスプラットフォームのユーティリティ関数の別のライブラリ。[アパッチ2]
  • ASL - Adobe ソースライブラリは、ピアレビューされた移植可能な C++ ソースライブラリを提供します。[マサチューセッツ工科大学]
  • ブースト - 汎用 C++ ライブラリの大規模なコレクション。[ブースト]ウェブサイト
  • BDE - ブルームバーグ研究所のBDE開発環境。[アパッチ2]
  • C++ ワークフロー - C++ 並列コンピューティングおよび非同期ネットワーク エンジン。[アパッチ2]
  • CGraph - 任意の第三者なしでC ++に基づいてクロスプラットフォームのDAGフレームワーク。[マサチューセッツ工科大学]
  • Cinder -プロ品質のクリエイティブコーディングのためのコミュニティ開発の無料のオープンソースライブラリ。[BSD]
  • Coost - C ++ 11の小さなブーストライブラリ。[マサチューセッツ工科大学]
  • Cxxomfort - 最新の C++ 標準から C++03 以降にさまざまな機能をバックポートする、小さなヘッダーのみのライブラリ。[マサチューセッツ工科大学]
  • Dlib - C++ で実世界の機械学習およびデータ分析アプリケーションを作成するためのツールキット [ブースト] ウェブサイト
  • EASTL - エレクトロニック・アーツ標準テンプレート・ライブラリ。[BSD]
  • ETL - 埋め込みテンプレートライブラリ。[マサチューセッツ工科大学]
  • ffead-cpp - エンタープライズアプリケーション開発のためのフレームワーク。[アパッチ2]
  • Folly - Facebook で開発され使用されているオープンソースの C++ ライブラリ。[アパッチ2]
  • FunctionalPlus - C++ 用関数型プログラミングライブラリ。簡潔で読みやすいC ++コードを記述します。[マサチューセッツ工科大学]
  • GLib - GLib は、C 言語で記述されたライブラリおよびアプリケーションのためのコアアプリケーションビルディングブロックを提供します。
  • JUCE - クロスプラットフォームソフトウェアを開発するための包括的なC ++クラスライブラリ。[コアモジュール: ISC, 残り: GPL2/GPL3/商用]ウェブサイト
  • Kigs フレームワーク - フリーでオープンソースの C++ モジュール式多目的クロスプラットフォーム RAD フレームワーク。[マサチューセッツ工科大学]ウェブサイト
  • libPhenom - libPhenom は、C 言語で高性能でスケーラビリティの高いシステムを構築するためのイベントフレームワークです。
  • LibSourcey - リアルタイム ビデオ ストリーミングおよびハイ パフォーマンス ネットワーク アプリケーション向けの C++11 イベント IO。[LGPL]
  • LibU - C 言語で書かれたマルチプラットフォームユーティリティライブラリ [BSD]
  • libxutils - データ構造、アルゴリズムなどを提供する、シンプルでありながら強力なクロスプラットフォーム C ライブラリ。[マサチューセッツ工科大学]
  • Loki - 一般的なデザインパターンとイディオムの柔軟な実装を含むデザインのC ++ライブラリ。[マサチューセッツ工科大学]
  • MiLi - 最小限のヘッダーのみの C++ ライブラリ。[ブースト]
  • OpenFrameworks - C++ でのクリエイティブコーディングのためのクロスプラットフォームのオープンソースツールキット。[マサチューセッツ工科大学]ウェブサイト
  • Qt - クロスプラットフォームアプリケーションとUIフレームワーク。[GPL/LGPL/商用]
  • 理由 - C++ のパフォーマンスと強度を必要とする開発者に Java、.Net、または Python の使いやすさを提供するように設計されたクロスプラットフォーム フレームワーク。[GPL2]
  • ROOT - 大量のデータを非常に効率的な方法で処理および分析するために必要なすべての機能を備えたオブジェクト指向フレームワークのセット。CERNで使用されています。[LGPL]
  • Seastar - 最新のハードウェア上の高性能サーバーアプリケーションのための高度なオープンソースC ++フレームワーク。[Apache-2.0 ライセンス]seastar.io
  • STLport - STLの模範的なバージョン。【無料】
  • STXXL - 特大データセット用の標準テンプレートライブラリ。[ブースト]
  • tbox - glib ライクなマルチプラットフォーム c ライブラリ。[アパッチ2]ウェブサイト
  • Ultimate++ - C++ クロスプラットフォームの高速アプリケーション開発フレームワーク。[BSD]
  • uSTL - 小さな STL ライブラリ。[マサチューセッツ工科大学]
  • Windows テンプレート ライブラリ - Windows アプリケーションと UI コンポーネントを開発するための C++ ライブラリ。[一般公開]
  • Yomm2 - 高速、直交、オープンマルチメソッド。Yomm11 [ブースト] に取って代わります。

人工知能

  • ANNetGPGPU - GPU (CUDA) ベースの人工ニューラルネットワークライブラリ。[LGPL]
  • btsk - ゲームビヘイビアツリースターターキット。[ズリブ]
  • 進化するオブジェクト - テンプレートベースのANSI-C ++進化計算ライブラリで、独自の確率的最適化アルゴリズムをめちゃくちゃ速く書くのに役立ちます。[LGPL]
  • 質素に深い - C ++でKerasモデルを使用するためのヘッダーのみのライブラリ。[マサチューセッツ工科大学]
  • Genann - C 言語のシンプルなニューラルネットワークライブラリ [zlib]
  • MXNet - 動的で突然変異を認識したデータフロー実行スケジューラを備えた、軽量、ポータブル、柔軟な分散/モバイルディープラーニング。Python、R、Julia、Scala、Go、Javascriptなどのウェブサイト
  • PyTorch - 強力なGPUアクセラレーションを備えたPythonのテンソルとダイナミックニューラルネットワーク。ウェブサイト
  • 懐中電灯 - 懐中電灯は、完全にC ++で書かれた高速で柔軟な機械学習ライブラリです。[BSD]
  • リキャスト/迂回 - (3D)ナビゲーションメッシュジェネレーターとパスファインダー、主にゲーム用。[ズリブ]
  • TensorFlow - データフローグラフを用いた数値計算のためのオープンソースソフトウェアライブラリ [Apache]
  • oneDNN - ディープラーニングアプリケーション用のオープンソースのクロスプラットフォームパフォーマンスライブラリ。[アパッチ]ウェブサイト
  • CNTK - Microsoft Cognitive Toolkit (CNTK)、オープン ソースのディープ ラーニング ツールキット。[ブースト]
  • tiny-dnn - ヘッダーのみで、C ++ 11の依存関係のないディープラーニングフレームワーク。[BSD]
  • Veles - 迅速なディープラーニングアプリケーション開発のための分散プラットフォーム。[アパッチ]
  • カルディ - 音声認識のためのツールキット。[アパッチ]

非同期イベントループ

  • Asio - ネットワークおよび低レベル I/O プログラミング用のクロスプラットフォーム C++ ライブラリで、最新の C++ アプローチを使用して一貫した非同期モデルを開発者に提供します。[ブースト]ウェブサイト
  • Boost.Asio - ネットワークおよび低レベル I/O プログラミング用のクロスプラットフォーム C++ ライブラリ。[ブースト]
  • C++ アクター フレームワーク - C++ のアクター モデルのオープンソース実装。[BSD-3-句]ウェブサイト
  • Ichor - スレッドセーフに重点を置き、依存関係の挿入を提供するイベントキュー。[マサチューセッツ工科大学]
  • libev - libevent を大まかにモデルにしたフル機能の高性能イベントループですが、制限やバグはありません。[BSD と GPL]
  • libevent - イベント通知ライブラリ。[BSD]
  • libhv - クロスプラットフォームのイベントループライブラリ。[BSD]
  • libuv - クロスプラットフォームの非同期 I/O. [BSD]
  • promise-cpp - Promise/A+ 標準を実装するヘッダーのみのライブラリ。[アンチ996]
  • uvw - libuv 用の C++ ラッパー。[マサチューセッツ工科大学]

オーディオ

オーディオ、サウンド、音楽、デジタル化された音声ライブラリ

  • オーディオファイル - オーディオファイルを読み書きするためのシンプルなC ++ライブラリ。[マサチューセッツ工科大学]
  • dr_libs - C および C++ 用の単一ファイルオーディオデコードライブラリ。[ライセンス解除]
  • FMOD - ゲーム用の使いやすいクロスプラットフォームのオーディオエンジンおよびオーディオコンテンツ作成ツール。[非商用/商用は無料]
  • KFR - 高速で最新のC ++ DSPフレームワーク、FFT、FIR / IIR フィルタ、サンプルレート変換。[GPL/商用]
  • ラメ - ラメは高品質のMPEGオーディオレイヤーIII(MP3)エンコーダです。[LGPL]
  • libsndfile - 2つの標準ライブラリインターフェイスを介してサンプリングされたサウンドを含むファイルを読み書きするためのC ++ラッパーを備えたCライブラリ。[LGPL-1.<>] ウェブサイト
  • libsoundio - クロスプラットフォームのリアルタイムオーディオ入出力用の C ライブラリ。[マサチューセッツ工科大学]ウェブサイト
  • マクシミリアン - C ++オーディオおよび音楽DSPライブラリ。[マサチューセッツ工科大学]
  • OpenAL - オープンオーディオライブラリ - クロスプラットフォームのオーディオ API。[BSD/LGPL/商用]
  • miniaudio - 単一ファイルのオーディオ再生およびキャプチャライブラリ。[ライセンス解除]ウェブサイト
  • ni-media - オーディオファイルを読み書きするためのC++ライブラリ。[マサチューセッツ工科大学]
  • Opus - 完全にオープンでロイヤリティフリーの、汎用性の高いオーディオコーデック。[BSD]
  • PortAudio - PortAudio は、無料のクロスプラットフォームのオープンソースオーディオ I/O ライブラリです。[マサチューセッツ工科大学]
  • rnnoise - オーディオノイズリダクションのためのリカレントニューラルネットワーク。[BSD-3-句]
  • SELA - シンプレロスレスオーディオ。[マサチューセッツ工科大学]
  • SoLoud - ゲーム用の簡単でポータブルなオーディオエンジン。[ズリブ]
  • Speex - 言論の自由のための無料のコーデック。オーパスによって廃止されました。[BSD]
  • トニック - C++での簡単で効率的なオーディオ合成。[ライセンス解除]
  • Vorbis - Ogg Vorbis は、完全にオープンで、非独占的で、特許やロイヤリティフリーの汎用圧縮オーディオ形式です。[BSD]
  • minimp3 - クリーンルーム実装のパブリックドメイン、ヘッダーのみのMP3デコーダー。[CC0]
  • Verovio - Verovio は、高速で軽量な楽譜彫刻ライブラリです。[LGPL]ウェブサイト
  • Wav2Letter++ - パブリックドメイン、完全にC ++で書かれた高速オープンソースの音声処理ツールキットで、ArrayFireテンソルライブラリと懐中電灯機械学習ライブラリを使用して効率を最大化します[BSD]

生物学

バイオインフォマティクス、ゲノミクス、バイオテクノロジー

  • BioC++ - バイオインフォマティクスのためのC ++計算ライブラリ。[BSD]
  • Chaste - 生理学と生物学のために開発された数学モデルの計算シミュレーションのためのオープンソースのC ++ライブラリ。[BSD]
  • libsequence - 集団遺伝学データを表現および分析するための C++ ライブラリ。[GPL]
  • SeqAn - 生物学的データに焦点を当てた配列の分析のためのアルゴリズムとデータ構造。[BSD/3 句]
  • Vcflib - VCF ファイルを解析および操作するための C++ ライブラリ。[マサチューセッツ工科大学]
  • Wham - BAM ファイルに関連するテストを直接適用することによるゲノムの構造バリアント (SV)。[マサチューセッツ工科大学]

ビットトレント

  • jech/dht - BitTorrent DHT Library in C. [MIT]
  • libtorrent (別名 libtorrent-rasterbar) - 効率的な機能の完全なC ++ビットトレント実装。[BSD]
  • LibTorrent (別名 libtorrent-rakshasa) - BitTorrent ライブラリ。[GPL]
  • libutp - uTorrentトランスポートプロトコルライブラリ。[マサチューセッツ工科大学]

化学

化学, 量子化学, 固体化学・物理, 地球化学, 生化学

  • d-SEAMS - Nix を搭載した C++ および Lua の分子動力学軌道解析エンジン。これは、分子シミュレーションのための遅延構造解明解析の頭字語です。[GPL]ウェブサイト
  • gromacs - メッセージパッシング並列分子動力学の実装。[GPL]ウェブサイト
  • Reaktoro - 化学反応系をモデル化するための C++ および Python の計算フレームワーク。[LGPL]ウェブサイト
  • LAMMPS - 材料モデリングに焦点を当てた古典的な分子動力学コード。これは、大規模な原子/分子超並列シミュレーターの頭字語です。[GPL]ウェブサイト
  • MADNESS - 科学シミュレーションのための多重解像度適応数値環境。[GPL]ウェブサイト
  • MPQC - 超並列量子化学プログラムであるMPQCは、時間に依存しないシュレーディンガー方程式を使用して、第一原理から原子と分子の特性を計算します。[GPL]ウェブサイト
  • ORCA - 最新の電子構造メソッドを含む第一原理量子化学プログラムパッケージ。[アカデミック]ウェブサイト
  • Psi - 第一原理計算化学パッケージ。[GPL]ウェブサイト

ティッカー

コンソール/ターミナルユーザーインターフェイス、コマンドラインインターフェイス

  • なんて こった!- 最小限の、フラストレーションのない、ヘッダーのみの引数ハンドラ。[BSD]
  • Taywee/args - 単純なヘッダのみの C++ 引数パーサライブラリ。[マサチューセッツ工科大学]
  • Boost.Program_options - コマンドラインや設定ファイルなどの従来の方法でプログラムオプションを取得するためのライブラリ。[ブースト]
  • Clara - C++ 11以降向けの使いやすい、構成可能なコマンドラインパーサー。[BSL-1.0]
  • cli:インタラクティブなコマンドラインインターフェイス(シスコスタイル)用のクロスプラットフォームヘッダーのみのC ++ 14ライブラリ。[ブースト]
  • CLI11 - 単純および高度なCLI解析のための単一ファイルまたは複数ファイルのC ++ 11ライブラリのみをヘッダーします。[BSD]
  • clipp - 単一のヘッダーファイルに含まれるC ++ 11/14/17用の使いやすく、強力で表現力豊かなコマンドライン引数処理。[マサチューセッツ工科大学]
  • jarro2783/cxxopts - 軽量の C++ コマンド行オプション・パーサー。[マサチューセッツ工科大学]
  • docopt.cpp - docstring からオプションパーサを生成するためのライブラリです。[MIT /ブースト]
  • FINAL CUT - テキストベースのウィジェットでターミナルアプリケーションを作成するためのライブラリ。[LGPL]
  • gflags - C++ 用のコマンドラインフラグモジュール。[BSD]
  • インジケーター - 最新の C++ のアクティビティインジケーター。[マサチューセッツ工科大学]
  • linenoise - readline や libedit に代わる小さな自己完結型の選択肢です。[BSD-2-句]
  • linenoise-ng - Linux、Windows、MacOS用の小型で移植可能なGNUリードラインの代替品で、UTF-8文字を扱うことができます。[BSD]
  • Lyra - C++ 11 以降向けの使いやすい、構成可能なコマンドラインパーサー。[ブースト]
  • Ncurses - ターミナル ユーザー インターフェイス。[マサチューセッツ工科大学]
  • oof - コンソール出力用の便利で高性能なRGBカラーおよび位置制御。[マサチューセッツ工科大学]
  • PDCurses - ソースコードとコンパイル済みライブラリの両方が利用可能なパブリックドメインの呪いライブラリ。[パブリックドメイン]
  • popl - シングルヘッダーのテンプレート化されたコマンドライン引数と C++ 11 以降用の ini ファイルパーサー。[マサチューセッツ工科大学]
  • replxx - UTF-8、構文の強調表示、ヒントをサポートするreadlineとlibeditの代替品で、UnixとWindowsで動作します。[BSD]
  • - モダン C++ 用テーブルメーカー [MIT]
  • TCLAP - ANSI C++ でコマンドライン引数を定義およびアクセスするための、成熟した安定した機能豊富なライブラリ。[マサチューセッツ工科大学]
  • termbox - テキストベースのユーザインタフェースを書くためのCライブラリ。[マサチューセッツ工科大学]
  • cpp-terminal - マルチプラットフォーム端末アプリケーションを作成するための小さなヘッダーのみの C++ ライブラリ。[マサチューセッツ工科大学]
  • FTXUI - C++ 機能ターミナル ユーザー インターフェイス。[マサチューセッツ工科大学]
  • imtui - イミディエイト モードのテキスト ベースのユーザー インターフェイス [MIT]

圧縮

圧縮およびアーカイブライブラリ

  • bit7z - 7-zip DLL へのクリーンでシンプルなインターフェイスを提供する C++ 静的ライブラリ。 [GPLv2]
  • ブロトリ - ブロトリ圧縮形式。グーグルによって開発されました。[マサチューセッツ工科大学]
  • bzip2 - 自由に利用できる、特許フリーの高品質データコンプレッサー。[BSD]
  • bzip3 - BZip2のより良く、より強力な精神的な後継者。[LGPL]
  • 有限状態エントロピー - 新世代エントロピーコーデック:有限状態エントロピーとハフ0。
  • PhysicsFS - さまざまなアーカイブへの抽象的なアクセスを提供するためのライブラリ。ビデオゲームでの使用を目的としており、デザインはQuake 3のファイルサブシステムにいくらか触発されました。[ズリブ]
  • KArchive - zip や tar のようなファイルアーカイブを作成、読み取り、書き込み、操作するためのライブラリ。また、QIODeviceのサブクラスを介して、gzipなどの形式を使用して、データの透過的な圧縮と解凍も提供します。[LGPL]
  • libarchive - マルチフォーマットのアーカイブおよび圧縮ライブラリ。[新しいBSD]ウェブサイト
  • LZ4 - 非常に高速な圧縮アルゴリズム。[BSD]ウェブサイト
  • LZFSE - LZFSE 圧縮ライブラリおよびコマンドラインツール。アップルによって開発されました。
  • LZHAM - LZMAと同様の圧縮率を持つ可逆データ圧縮ライブラリですが、解凍がはるかに高速です。[BSD]
  • LZMA - 7z形式のデフォルトおよび一般的な圧縮方法。[パブリックドメイン]
  • LZMAT - 非常に高速なリアルタイムロスレスデータ圧縮ライブラリ。[GPL]
  • miniz - 単一のCソースファイルzlib互換API、ZIPアーカイブの読み取り/書き込み、PNG書き込みを備えた圧縮ライブラリの収縮/インフレート。[マサチューセッツ工科大学]
  • Minizip - PKWARE ディスク スパニング、AES 暗号化、および IO バッファリングをサポートする最新のバグ修正を含む Zlib。[ズリブ]
  • smaz - 小さな文字列圧縮ライブラリ。[BSD]
  • スナッピー - 高速コンプレッサー/減圧装置。[BSD]
  • ZLib - データストリーム用の非常にコンパクトな圧縮ライブラリ。[ズリブ]
  • zlib-ng - "次世代" システム用の zlib です。いくつかの深刻な最適化によるドロップイン交換。[ズリブ]
  • zstd - Zstandard - 高速リアルタイム圧縮アルゴリズム。フェイスブックによって開発されました。[BSD]
  • ZZIPlib - ZIP アーカイブに対する読み取りアクセスを提供します。[MPL/LGPL]

並行 処理

並行性とマルチスレッド

  • alpaka - 並列カーネルアクセラレーションのための抽象化ライブラリ。[LGPLv3+]
  • ArrayFire - 汎用GPUライブラリ。[BSD]
  • Async++ - Microsoft PPL ライブラリと N11 C++ 標準提案に触発された、C++3428 用の軽量同時実行フレームワーク。[マサチューセッツ工科大学]
  • Boost.Compute - OpenCL 用の C++ GPU コンピューティングライブラリ。[ブースト]
  • ボルト - GPU 用に最適化された C++ テンプレートライブラリ。[アパッチ2]
  • ck - 並行性プリミティブ、安全なメモリ再利用メカニズム、およびノンブロッキングデータ構造。[BSD]
  • concurrentqueue - C++11 用の高速なマルチプロデューサー、マルチコンシューマーのロックフリーの同時キュー。[BSD,Boost]
  • Cpp-タスクフロー - タスク依存関係を使用した高速 C++ 並列プログラミング。[マサチューセッツ工科大学]
  • CUB - CUBは、CUDAプログラミングモードのすべてのレイヤーに最先端の再利用可能なソフトウェアコンポーネントを提供します。[新しいBSD]
  • cuda-api-wrappers - CUDA GPU プログラミングランタイム API 用の軽量で最新の C++ ラッパー。[BSD]
  • cupla - OpenMP、Threads、TBB、...アルパカを通して。[LGPLv3+]
  • C++React - C++11 用のリアクティブプログラミングライブラリ。[ブースト]
  • FiberTaskingLib - 任意の依存関係を持つタスクグラフをサポートするタスクベースのマルチスレッドライブラリ。[アパッチ]
  • HPX - あらゆる規模の並列および分散アプリケーション用の汎用 C++ ランタイム システム。[ブースト]
  • インテルゲームタスクスケジューラ - ゲーム開発者のニーズに合わせて設計されたタスクスケジューリングフレームワーク。[マサチューセッツ工科大学]
  • インテルパラレル STL - C++17 以上用の C++11 STL のインテル®実装。[アパッチ2]
  • インテル TBB - インテル® スレッディング・ビルディング・ブロック。[アパッチ2]
  • junction - C++ の同時実行データ構造のライブラリ。[BSD]
  • Kokkos - 並列実行とメモリ抽象化のためのパフォーマンスポータブルプログラミングモデル。[BSD]
  • libcds - 並行データ構造の C++ ライブラリ。[BSD]
  • Libclsph - OpenCL ベースの GPU アクセラレーションによる SPH 流体シミュレーションライブラリ。[マサチューセッツ工科大学]
  • libdill - C 言語で構造化並行性を導入 [MIT]
  • libdispatch - Apple Inc. によって開発されたグランドセントラルディスパッチ (GCD) は、スレッドプールパターンに基づくタスク並列処理テクノロジです。libdispatch は GCD のサービスの実装を提供するライブラリです。[Apache-2.0] ウェブサイト
  • libmill - C 言語で Go スタイルの並行性を導入 [MIT]
  • marl - MarlはC ++ 11で書かれたハイブリッドスレッド/ファイバータスクスケジューラです。[アパッチ-2.0]
  • モダンGPU - モダンGPUは、GPUでの汎用コンピューティングのための生産性ライブラリです。これは、CUDA用に書かれたヘッダーのみのC ++ライブラリです。ライブラリのユニークな価値は、不規則に並列な問題を解くための加速されたプリミティブにあります。[FreeBSD & Copyright, Sean Baxter]
  • NCCL - 集合的なマルチGPU通信用に最適化されたプリミティブ。[BSD]
  • OpenCL - 異種システムの並列プログラミングのためのオープンスタンダード。
  • OpenMP - OpenMP API。
  • ローター - イベントループフレンドリーなC ++アクターマイクロフレームワーク。[マサチューセッツ工科大学]
  • SObjectizer - アクター、パブリッシュ/サブスクライブ、および CSP モデルを 3 つのかなり小さな C++ フレームワークに実装したものです。[BSD-<>-句]
  • Quantum - boost::コルーチン2の上に構築された強力な C++ コルーチン ディスパッチャー フレームワーク。
  • RaftLib - RaftLib C++ ライブラリ、C++ iostream ライクな演算子によるストリーミング/データフロー並行性 [Apache2]
  • readerwriterqueue - C++ 用の高速シングルプロデューサー、シングルコンシューマーロックフリーキュー。[BSD]
  • stdgpu - GPU 上の効率的な STL のようなデータ構造。[アパッチ2]
  • 推力 - C ++標準テンプレートライブラリ(STL)に似た並列アルゴリズムライブラリ。[アパッチ2]
  • transwarp - タスクの同時実行のためのヘッダーのみの C++ ライブラリ。[マサチューセッツ工科大学]
  • VexCL - OpenCL/CUDA 用の C++ ベクトル式テンプレートライブラリです。[マサチューセッツ工科大学]
  • STAPL - 共有メモリと分散メモリの両方の並列コンピュータで動作するように設計されたC ++並列プログラミングフレームワーク。[BSD]
  • concurrencpp - タスク、エグゼキュータ、タイマー、およびそれらすべてを支配するC ++ 20コルーチンを含む一般的な同時実行ライブラリ。

構成

設定ファイル、INI ファイル

  • inifile-cpp - ヘッダーのみで使いやすい C++ 用の Ini ファイルパーサー。[マサチューセッツ工科大学]
  • inih - シンプル .CのINIファイルパーサーで、組み込みシステムに適しています。[BSD-3-句]
  • inih - 単一ヘッダーのみの C++ バージョンの inih です。[BSD-3-句]
  • iniparser - INI ファイルパーサー。[マサチューセッツ工科大学]
  • libconfig - 構造化された設定ファイルを処理するためのC、C++ライブラリ。[LGPL-2.1] ウェブサイト
  • libconfuse - C 用の小さな設定ファイルパーサライブラリ [ISC]
  • simpleini - INIスタイルの設定ファイルを読み書きするためのシンプルなAPIを提供するクロスプラットフォームのC++ライブラリ。[マサチューセッツ工科大学]
  • toml++ - C++17 以降用のヘッダーのみの TOML パーサーおよびシリアライザー。[マサチューセッツ工科大学]ウェブサイト

コンテナー

  • C++ B ツリー - B ツリー データ構造に基づいて順序付けられたメモリ内コンテナーを実装するテンプレート ライブラリ。[アパッチ2]
  • コロニー - 順序付けられていない「バッグ」タイプのコンテナで、挿入/消去に関係なく消去されていない要素への永続的なポインタを維持しながら、変更の多いシナリオでstdコンテナよりも優れています。[zLib]ウェブサイト
  • dynamic_bitset - C++17 ヘッダーのみの動的ビットセット。[マサチューセッツ工科大学]
  • フォレスト - AVL、バイナリ検索、KD、クワッドツリーを実装するテンプレートライブラリ。[マサチューセッツ工科大学]
  • ハッシュマップ - C++ でのオープンアドレス指定ハッシュテーブルアルゴリズムの実装。[マサチューセッツ工科大学]
  • 石けり遊びマップ - 衝突解決に石けり遊びハッシュを使用する高速ヘッダーのみのハッシュマップ。[マサチューセッツ工科大学]
  • LSHBOX - 局所性依存ハッシュ (LSH) の C++ ツールボックスは、いくつかの一般的な LSH アルゴリズムを提供し、Python と MATLAB もサポートしています。[GPL]
  • PGM-index - 従来のインデックスよりも桁違いに少ないスペースを使用して、数十億のアイテムの配列での高速検索、先行、範囲検索、および更新を可能にするデータ構造。[アパッチ2]ウェブサイト
  • plf::list - キャッシュに適した構造を有効にするために範囲スプライシングを削除するstd::list実装により、パフォーマンスが大幅に向上します。[zLib]ウェブサイト
  • plf::stack - std::stack コンテナアダプタの代替コンテナで、スタックコンテキスト内のどの std コンテナよりも優れたパフォーマンスを発揮します。[zLib]ウェブサイト
  • ring_span lite - アーサー・オドワイヤーのring_span実装の簡略化された実装。円形のバッファー ビュー。[マサチューセッツ工科大学]
  • robin-hood-hashing - C++14 の robin hood ハッシュに基づく高速でメモリ効率の良いハッシュテーブル。[マサチューセッツ工科大学]
  • robin-map - ロビンフッドハッシュを使用した高速ハッシュマップとハッシュセット。[マサチューセッツ工科大学]
  • sparsepp - C++ 用の高速でメモリ効率の高いハッシュマップ。[BSD 3句]

暗号化手法

暗号化および暗号化ライブラリ

  • Bcrypt - クロスプラットフォームのファイル暗号化ユーティリティ。暗号化されたファイルは、サポートされているすべてのオペレーティングシステムとプロセッサ間で移植可能です。[BSD]
  • BeeCrypt - ポータブルで高速な暗号化ライブラリ。[LGPLv2.1+]
  • ボタン - C++ 用の暗号ライブラリ。[BSD-2]
  • 暗号++ - 暗号化スキームの無料のC ++クラスライブラリ。[ブースト]ウェブサイト
  • digestpp - C++11 ヘッダーのみのメッセージ ダイジェスト (ハッシュ) ライブラリ。[パブリックドメイン]
  • GnuPG - OpenPGP 標準の完全で自由な実装。[GPL]
  • GnuTLS - SSL、TLS、およびDTLSプロトコルを実装する安全な通信ライブラリ。[LGPL2.1]
  • Libgcrypt - もともとは GnuPG のコードに基づいた汎用暗号ライブラリです。[LGPLv2.1+]
  • LibreSSL - 2014年にOpenSSLからフォークされたSSL/TLSプロトコルの無料バージョン。[?]
  • libsodium - P(オータブル|アカッジ可能)NaClベースの暗号ライブラリで、意見があり使いやすいです。[ISC]
  • libhydrogen - 制約のある環境に適した、軽量で安全で使いやすい暗号ライブラリ。[ISC]
  • LibTomCrypt - かなり包括的でモジュール化されたポータブル暗号化ツールキット。[WTFPL]
  • mbedTLS - オープンソースで、ポータブルで、使いやすく、読みやすく、柔軟なSSLライブラリで、以前はPolarSSLとして知られていました。[アパッチ2]ウェブサイト
  • イラクサ - 低レベルの暗号ライブラリ。[LGPL]
  • OpenSSL - 堅牢で商用グレードのフル機能のオープンソース暗号化ライブラリ。[アパッチ]ウェブサイト
  • retter - 暗号化に関連するハッシュ関数、暗号、ツール、ライブラリ、および資料のコレクション。
  • s2n - TLS/SSL プロトコルの実装。[アパッチ]
  • sha1collision検出 - ファイル内のSHA-1衝突を検出するためのライブラリおよびコマンドラインツール。[マサチューセッツ工科大学]
  • Tink - 安全で正しく使いやすく、誤用しにくい暗号化APIを提供する多言語のクロスプラットフォームライブラリ。[アパッチ-2.0]
  • C の小さな AES - C の小型ポータブル AES128/192/256 [パブリックドメイン]
  • Themis -痛みのないデータセキュリティのための暗号ライブラリ、対称および非対称暗号化、前方秘匿性を備えた安全なソケットを提供し、モバイルおよびサーバープラットフォーム用。[アパッチ2]
  • HEhub - 準同型暗号とその応用のためのライブラリ。[アパッチ2]

.CSV

カンマ区切り値 (CSV) ファイルを解析するためのライブラリ

  • csv2 - 最新の C++ 用の高速 CSV パーサー。[マサチューセッツ工科大学]
  • Csv::P arser - C++17 で記述されたコンパイル時およびランタイム CSV パーサー。[ズリブ]
  • 高速 C++ CSV パーサー - CSV ファイルを読み取るための、小さくて使いやすく高速なヘッダーのみのライブラリ。[BSD-3-句]
  • lazycsv - 最新の C++ 用の高速で軽量なシングルヘッダーの csv パーサー。[マサチューセッツ工科大学]
  • VinceのCSVパーサー - オプションの型キャストと統計を備えた、高速で自己完結型のストリーミングC ++ 17 CSVパーサー。[マサチューセッツ工科大学]

データベース

データベース ライブラリ、SQL サーバー、ODBC ドライバー、およびツール

  • ClickHouse - ClickHouse DBMS 用の C++ クライアント。[アパッチ2]
  • 休止状態 - sqlite3 の C++ オブジェクトリレーショナルマッピング。[BSD]
  • Hiredis - Redis データベース用の最小限の C クライアントライブラリ。[BSD]
  • Kvrocks - ストレージエンジンとしてRocksDBを使用し、Redisプロトコルと互換性のある分散キー値NoSQLデータベース。[アパッチ2]
  • LevelDB - Google で記述された高速なキーと値のストレージ ライブラリで、文字列キーから文字列値への順序付きマッピングを提供します。[BSD]
  • libpqxx - PostgreSQL 用の公式 C++ クライアント API。[BSD-3-句]
  • LMDB - 完全な ACID セマンティクスを備えた非常に高速な埋め込みキー/値ストア。[OpenLDAP]
  • LMDB++ - LMDB 組み込みデータベースライブラリ用の C++11 ラッパー。[パブリックドメイン]
  • MongoDB C Driver - MongoDB クライアント ライブラリ for C です。 [Apache2]
  • MongoDB C++ Driver - MongoDB 用の C++ ドライバー。[アパッチ2]
  • MongoDB Libbson - BSON ユーティリティライブラリ。[アパッチ2]
  • MySQL++ - MySQL の C API 用の C++ ラッパー。[LGPL]
  • nanodbc - ネイティブ C ODBC API 用の小さな C++ ラッパー。[マサチューセッツ工科大学]
  • ODB - C++ 用のオープンソース、クロスプラットフォーム、クロスデータベースオブジェクトリレーショナルマッピング (ORM) システム。[GPLv2]
  • redis3m - クリーンなC ++インターフェイスを備えた雇われたラッパーで、センチネルをサポートし、すぐに使用できるパターンです。[アパッチ2]
  • RocksDB - フェイスブックからの高速ストレージのための組み込みキーバリューストア。[BSD]
  • SimDB - 高性能、共有メモリ、ロックフリー、クロスプラットフォーム、単一ファイル、最小限の依存関係、C++11 キーと値のストア [Apache2]
  • SOCI - C++ 用のデータベース抽象化レイヤー。[BSL-1.0]
  • SQLite - 完全に埋め込まれた、フル機能のリレーショナルデータベースを数100kで、プロジェクトに直接含めることができます。[パブリックドメイン]
  • SQLiteC++ - SQLiteC++ (SQLiteCpp) は、スマートで使いやすい C++ SQLite3 ラッパーです。[マサチューセッツ工科大学]
  • sqlite_modern_cpp - sqliteライブラリの周りのC ++ 14ラッパーのみをヘッダーします。[マサチューセッツ工科大学]
  • sqlite_orm - 最新のC ++用のSQLite ORMライトヘッダー専用ライブラリ。[AGPL + 有料のMIT]
  • sqlpp11 - SQL クエリ用のタイプ セーフな埋め込みドメイン固有言語であり、C++ の結果になります。[BSD-2-句]
  • TileDB - 高速で高密度で疎な多次元配列DBMS。[マサチューセッツ工科大学]ウェブサイト
  • UnQLite - 自己完結型、サーバーレス、ゼロ構成、トランザクション NoSQL エンジン。[BSD-2-句]ウェブサイト
  • upscaledb - 組み込みのクエリ インターフェイスを備えた埋め込みの "型指定された" キー/値ストア。[GPLv3]

データビジュアライゼーション

データの可視化ライブラリ

デバッグ

デバッグライブラリ、メモリリークとリソースリークの検出、単体テスト

  • 後方cpp - C ++用の美しいスタックトレースプリティプリンタ。[マサチューセッツ工科大学]
  • ベンチマーク - Googleは小さなマイクロベンチマークサポートライブラリを提供しました。[アパッチ2]
  • ブーストテスト - ブーストテストライブラリ。[ブースト]
  • check - チェックは C の単体テストフレームワークです。 [LGPL-2.1] ウェブサイト
  • doctest - 最軽量の機能豊富なC ++シングルヘッダーテストフレームワーク。[マサチューセッツ工科大学]
  • Catch2 - 単体テスト、TDD、BDD 用の最新の C++ ネイティブのヘッダーのみのテスト フレームワーク。[BSL-1.0]
  • セレロ - C ++ベンチマークフレームワーク。[アパッチ2]
  • CppUTest - C/C++ の単体テストとモックフレームワーク。[BSD-3 句]
  • かわいい - C ++の単体テストが簡単になりました。[LGPL3]
  • CMocka - モックオブジェクトをサポートするCの単体テストフレームワーク。[アパッチ2]
  • CppUnit - JUnit の C++ 移植版。[LGPL2]
  • CTest - CMake テスト ドライバー プログラム。[BSD]
  • dbg-macro - C++ 用の dbg(...) マクロ。[マサチューセッツ工科大学]
  • デバッグ ビューPP - デバッグ ログ ビューアー。[BSL]
  • Deleaker - メモリ、GDI、ハンドルリークなどのリソースリーク検出のためのツール。
  • FakeIt - C++ 用のシンプルなモックフレームワーク。[マサチューセッツ工科大学]
  • fff - 偽の C 関数を作成するためのマイクロフレームワーク。[マサチューセッツ工科大学]
  • Google モック - C++ モック クラスを作成および使用するためのライブラリ。[BSD]
  • Google Test - Google C++ Testing Framework。[BSD]
  • ig-debugheap - メモリエラーを追跡するのに役立つマルチプラットフォームのデバッグヒープ。[BSD]
  • libtap - テストを C 言語で書く [GPL2]
  • マイクロプロファイル - 複数のプラットフォーム用のウェブビューを備えたプロファイラー。[ライセンス解除]
  • MinUnit - 単一のヘッダーファイルに自己完結したCの最小単体テストフレームワーク。[マサチューセッツ工科大学]
  • Mockator - C++ Seams および Mock Object 用の Eclipse CDT プラグイン。
  • nanobench - C++11/14/17/20 用のシンプル、高速、正確なシングルヘッダーマイクロベンチマーク機能。[マサチューセッツ工科大学]ウェブサイト
  • Nanotimer - ベンチマーク用の単純な低オーバーヘッドのクロスプラットフォーム タイマー クラス。[zLib]ウェブサイト
  • ノニウス - C ++マイクロベンチマークフレームワーク。[CC]
  • リモート-Webビューアを備えたシングルCファイルプロファイラ。[アパッチ2]
  • snitch - 軽量のC ++ 20テストフレームワーク。[ブースト]
  • Touca - セルフホストできるオープンソースの回帰テストシステム。[アパッチ2]ウェブサイト
  • UnitTest++ - C++ 用の軽量な単体テスト フレームワーク。[MIT/Xコンソーシアムライセンス]
  • Unity - C のためのシンプルな単体テスト [MIT]
  • utest.h - C および C++ 用の単一ヘッダー単体テストフレームワーク。[ライセンス解除]
  • μt - C++20 シングルヘッダ/シングルモジュール、マクロフリー μ(マイクロ)/単体テストフレームワーク [ブースト]
  • VLD - ビジュアルリークディテクタ。Visual C++ 用の無料の堅牢なオープンソース メモリ リーク検出システム。

フォント

フォントファイルを解析および操作するためのライブラリ。

  • Fontconfig - フォント設定およびカスタマイズライブラリ。[マサチューセッツ工科大学]ウェブサイト
  • FreeType - FreeType は、フォントをレンダリングするための自由に利用できるソフトウェアライブラリです。[FTL & GPLv2]
  • otfcc - OpenType フォントファイルの解析と書き込みに使用される C ライブラリおよびユーティリティ。[アパッチ-2.0]
  • harfbuzz - テキスト整形エンジン [旧 MIT]

ゲームエンジン

  • - 高速C ++ 17バルカンゲームエンジン。[マサチューセッツ工科大学]
  • Allegro -主にビデオゲームとマルチメディアプログラミングを目的としたクロスプラットフォームライブラリ。[ズリブ]
  • Cocos2d-x - 2Dゲーム、インタラクティブブック、デモ、その他のグラフィカルアプリケーションを構築するためのマルチプラットフォームフレームワーク。[マサチューセッツ工科大学]
  • コランジュ - 純粋なC、SDLおよびOpenGLで書かれたゲームエンジン。[BSD]
  • crown - Crownは汎用のデータ駆動型ゲームエンジンであり、ミニマルでデータ指向の設計哲学を念頭に置いて、オーソドックスなC ++でゼロから書かれています。[マサチューセッツ工科大学]
  • delta3d - 堅牢なシミュレーションプラットフォーム。[LGPL2]
  • EnTT - ゲームと最新の C++ の出会い。[マサチューセッツ工科大学]
  • GamePlay - 2D/3D モバイルおよびデスクトップゲームを作成するためのクロスプラットフォームのネイティブ C++ ゲームフレームワーク。[アパッチ2]
  • Godot -フル機能のオープンソース、MITライセンスのゲームエンジン。[マサチューセッツ工科大学]
  • Grit - オープンワールドの3Dゲームを実装するための無料ゲームエンジンを構築するコミュニティプロジェクト。[マサチューセッツ工科大学]
  • Halley - C++14 で書かれた軽量のゲームエンジンで、"真の" エンティティコンポーネントシステムを備えています。[Apache 2.0]
  • KlayGE - プラグインベースのアーキテクチャを備えたクロスプラットフォームのオープンソースゲームエンジン。[GPLv2]ウェブサイト
  • nCine - パフォーマンスに重点を置いたクロスプラットフォームの2Dゲームエンジンで、C ++ 11で記述され、オプションでLuaでスクリプト化できます。[マサチューセッツ工科大学]ウェブサイト
  • o3de - Amazon Lumberyard をベースにしたオープンソースのリアルタイムマルチプラットフォーム 3D エンジン。[アパッチ2]ウェブサイト
  • OpenXRay - S.T.A.L.K.E.R.ゲームシリーズで使用されるコミュニティ修正X線エンジン。[修正BSD/非商用のみ]
  • オキシジン - クロスプラットフォームの2D C ++ゲームエンジン。[マサチューセッツ工科大学]
  • Panda3D - ゲームエンジン、PythonおよびC ++プログラム用の3Dレンダリングおよびゲーム開発のためのフレームワーク。[修正BSD]ウェブサイト
  • PixelGameEngine - javidx9のYouTubeビデオやプロジェクトで使用されるツールであるolcPixelGameEngineの公式ディストリビューション。[OLC3]
  • ポリコード - C++ のクリエイティブコード用のクロスプラットフォームフレームワーク(Lua バインディングを使用)。[マサチューセッツ工科大学]ウェブサイト
  • raylib - ビデオゲームのプログラミングを楽しむためのシンプルで使いやすいライブラリ。[zlib/libpng]ウェブサイト
  • - 強力な無料のクロスプラットフォームRTSゲームエンジン。[GPLv2/GPLv3]ウェブサイト
  • Torque2D - 2Dゲーム開発用に構築されたオープンソースのクロスプラットフォームC ++エンジン。[マサチューセッツ工科大学]ウェブサイト
  • Torque3D - 3Dゲーム開発用に構築されたオープンソースのC ++エンジン。[マサチューセッツ工科大学]ウェブサイト
  • おもちゃエンジン - おもちゃは薄くてモジュール式のC ++ゲームエンジンであり、高速の反復でフル機能の2Dまたは3Dゲームを設計するためのシンプルで表現力豊かなC ++イディオムを提供します。
  • Urho3D - C++ で実装された無料の軽量、クロスプラットフォームの 2D および 3D ゲーム エンジン。OGREとHorde3Dに大きく影響を受けました。[マサチューセッツ工科大学]

GUI

グラフィックユーザーインターフェイス

  • ボーデン - ネイティブ、モバイル、クロスプラットフォームのGUIフレームワーク。[GPL/LGPL/商用]ウェブサイト
  • CEGUI - 柔軟なクロスプラットフォームのGUIライブラリ。
  • 要素 - 軽量、きめ細かな、解像度に依存しない、モジュラーGUIライブラリ。[マサチューセッツ工科大学]
  • FLTK - 高速、軽量、クロスプラットフォームのC ++ GUIツールキット。[GPL2]
  • GacUI - WYSIWYG 開発ツール、XML サポート、組み込みのデータ バインディング、MVVM 機能を備えた GPU アクセラレーション C++ ユーザー インターフェイス。[MS-PL]
  • GTK+ - グラフィカルユーザインターフェースを作成するためのマルチプラットフォームツールキット。[LGPL]
  • gtkmm - 人気のある GUI ライブラリ GTK+ の公式 C++ インターフェイス。[LGPL]
  • imgui - 最小限の依存関係を持つイミディエイトモードのグラフィカルユーザーインターフェイス。[マサチューセッツ工科大学]
  • implot - imgui用のウィジェットをプロットするイミディエイトモード。[マサチューセッツ工科大学]
  • iup - グラフィカルユーザーインターフェイスを構築するためのマルチプラットフォームツールキット。[マサチューセッツ工科大学]
  • libui - サポートする各プラットフォームのネイティブGUIテクノロジーを使用するCのシンプルで移植可能な(ただし柔軟性のない)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ウィジェットの束を提供します。[ズリブ]
  • RmlUi - HTML/CSS ユーザー インターフェイス ライブラリが進化しました。リブロケットのフォーク。[マサチューセッツ工科大学]
  • Sciter - Sciter は、最新のデスクトップアプリケーションの UI レイヤーとして使用することを目的とした埋め込み可能な HTML/CSS/スクリプトエンジンです。[無料/商用]
  • Slint - デスクトップおよび組み込み用の軽量GUIツールキット。[GPL/フリー/商用]ウェブサイト
  • wxWidgets - 開発者が単一のコードベースでWindows、Mac OS X、Linux、およびその他のプラットフォーム用のアプリケーションを作成できるようにするC ++ライブラリ。[LGPLを所有している]
  • xtd - Windows、macOS、Linux、iOS、iOS、Android上でコンソール(CLI)、フォーム(WinFormsのようなGUI)、およびtunit(Microsoft Unit Testing Frameworkのような単体テスト)アプリケーションを作成するための最新のC ++ 17/20フレームワーク。[マサチューセッツ工科大学]
  • Yue - ネイティブのクロスプラットフォーム GUI アプリを作成するためのライブラリです。 [LGPLv2]

グラフィックス

  • assimp - オープンアセットインポートライブラリ(assimp)は、さまざまな3Dアセットファイル形式に共通のAPIを提供することを目的としたクロスプラットフォームの3Dモデルインポートライブラリです。[BSD-3-句]ウェブサイト
  • bgfx - クロスプラットフォームのレンダリングライブラリ。[BSD]
  • Blend2D - JITコンパイラを搭載した2Dベクターグラフィックスエンジン。[ズリブ]ウェブサイト
  • bs::framework - リアルタイムグラフィカルアプリケーションの開発のための最新のC ++ 14ライブラリ。[マサチューセッツ工科大学]
  • Cairo - 複数の出力デバイスをサポートする2Dグラフィックライブラリ。[LGPL2 または Mozilla MPL]
  • C-Turtle - CImg ラッパーとして機能する C++11 ヘッダーのみの turtle グラフィックライブラリ。[マサチューセッツ工科大学]
  • 勤勉なエンジン - 最新のクロスプラットフォームの低レベル3Dグラフィックスライブラリ。[アパッチ2]
  • DirectXTK - C++ で DirectX 11.x コードを記述するためのヘルパー クラスのコレクション。[マサチューセッツ工科大学]
  • GLFW - シンプルなクロスプラットフォームの OpenGL ラングリングライブラリ。[zlib/libpng]
  • Harfang 3D 3D ビジュアライゼーションライブラリは、C++、Python、Lua、Goで使用できます。BGFXに基づいています。[GPLv3/LGPLv3/商用]ウェブサイト
  • ヒアドラゴンズ -さまざまなエンジン、フレームワーク、またはAPIで実装された基本的な3Dシーン。[マサチューセッツ工科大学]ウェブサイト
  • Horde3D - 小型の3Dレンダリングおよびアニメーションエンジン。[EPL]
  • Ion - 3D グラフィックスを使用するクロスプラットフォームのクライアントまたはサーバーアプリケーションを構築するための、小規模で効率的なライブラリのセット。[アパッチ2]ウェブサイト
  • Irrlicht - C++ で書かれた高性能リアルタイム 3D エンジン。[ズリブ]
  • libigl - シンプルな C++ ジオメトリ処理ライブラリ。[MPL2]
  • LLGL - 低レベルグラフィックスライブラリ(LLGL)は、最新のグラフィックスAPI用の薄い抽象化レイヤーです。[BSD-3-句]
  • magnum - ゲームやデータの視覚化のための軽量でモジュール式の C++11/C++14 グラフィックスミドルウェア。[マサチューセッツ工科大学]ウェブサイト
  • NanoVG - UIとビジュアライゼーションのためのOpenGL上のアンチエイリアスされた2Dベクトル描画ライブラリ。[ズリブ]
  • Ogre 3D - C++ で記述された、(ゲーム エンジンではなく) シーン指向のリアルタイム 3D レンダリング エンジン。[マサチューセッツ工科大学]
  • OpenSceneGraph - オープンソースの高性能3Dグラフィックスツールキット。[OSGPL]
  • OpenSubdiv - CPUとGPUでサブディビジョンサーフェスを評価およびレンダリングするためのピクサーのライブラリ。[修正されたアパッチ2]
  • OpenVDB - ボリュームデータセットを保存、編集、レンダリングするためのライブラリとツール。[MPL2]
  • Panda3D - Python および C++ 用の 3D レンダリングとゲーム開発のためのフレームワーク。[BSD]
  • Partio - 粒子データをラングリングするためのライブラリで、最も一般的なファイル形式をサポートしています。[修正BSD]
  • Skia - テキスト、ジオメトリ、および画像を描画するための完全な2Dグラフィックライブラリ。[BSD]ウェブサイト
  • TinySpline - 任意の NURBS、B スプライン、およびベジェ曲線を補間、変換、およびクエリするための、小さいながらも強力な ANSI C ライブラリ。[マサチューセッツ工科大学]
  • urho3d - クロスプラットフォームのレンダリングとゲームエンジン。[多くの異なる、主にMIT]
  • Yocto/GL - データ駆動型の物理ベースのグラフィックスのための小さな C++ ライブラリ。[マサチューセッツ工科大学]

画像処理

  • Boost.GIL - 汎用イメージライブラリ。
  • CImg - 画像処理用の小型のオープンソースの C++ ツールキット。[LGPLまたはGPLを所有している]
  • CxImage - BMP、JPEG、GIF、PNG、TIFF、MNG、ICO、PCX、TGA、WMF、WBMP、JBG、J2K画像をロード、保存、表示、変換するための画像処理および変換ライブラリ。[ズリブ]
  • Dlib - 最新のC ++ 11機械学習、コンピュータービジョン、数値最適化、ディープラーニングツールキット。[ブースト]ウェブサイト
  • FreeImage -今日のマルチメディアアプリケーションで必要に応じて、一般的なグラフィック画像形式などをサポートするオープンソースライブラリ。[GPL2 または GPL3]
  • GD - GD Graphics Library、PHPで画像の読み込み/操作とサムネイルの生成に使用されていることで有名です。[カスタム寛容ライセンス、ユーザードキュメントでの言及が必要]ウェブサイト
  • DCMTK - DICOM Toolkit.
  • GDCM - 草の根 DICOM ライブラリ。
  • ITK - 画像解析のためのオープンソースのクロスプラットフォームシステム。[Apache2 from ITK 4.0]
  • レプトニカ - レプトニカは、画像処理および画像解析アプリケーションに広く役立つソフトウェアを含むオープンソースライブラリです。[BSD-2-句]ウェブサイト
  • libfacedetection - 画像内の顔検出のためのオープンソースライブラリ。顔検出速度は1500FPSに達する可能性があります。[BSD]
  • libjpeg-turbo - SIMD 命令を使用してベースラインの JPEG エンコードとデコードを高速化する JPEG イメージコーデック。[IJG & BSD-3-Clause & zlib]ウェブサイト
  • libvips - メモリを必要とする高速な画像処理ライブラリ。[LGPL]ウェブサイト
  • Magick++ - C++ 用の ImageMagick プログラムインターフェイス。[アパッチ2]
  • MagickWnd - ImageMagick program interfaces for C. [Apache2]
  • OpenCV - オープンソースのコンピュータビジョン。[BSD]
  • OpenEXR - ハイダイナミックレンジイメージングのためのクロスプラットフォームライブラリ。[修正BSDF]
  • OpenImageIO - 多数の一般的な非可逆およびRAW形式をサポートする強力な画像およびテクスチャラングリングライブラリ。[修正BSD]
  • SAIL - プラグ可能な画像コーデックを備えた使いやすいクロスプラットフォームの画像デコードライブラリ。[マサチューセッツ工科大学]
  • 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 エンジン。[アパッチ2]
  • TinyEXIF - ISO 準拠の小さな C++ EXIF および XMP の JPEG 解析ライブラリ。[マサチューセッツ工科大学]
  • Video++ - C++14 の高性能ビデオおよび画像処理ライブラリ。[マサチューセッツ工科大学]
  • VIGRA - 画像解析用の汎用 C++ コンピュータビジョンライブラリ。[MIT X11]
  • VTK - 3Dコンピュータグラフィックス、画像処理、視覚化のためのオープンソースの無料ソフトウェアシステム。[BSD]

国際化

  • gettext - GNU 'gettext'。[GPL2]
  • IBM ICU - ユニコードおよびグローバリゼーションのサポートを提供する C/C++ および Java ライブラリーのセット。[国際協力大学]
  • libiconv - 異なる文字エンコーディング間のエンコーディング変換ライブラリ。[GPL]
  • utf8.h - C および C++ 用の単一ヘッダーの utf8 文字列関数。[ライセンス解除]
  • utf8proc - UTF-8 ユニコードデータを処理するためのクリーンな C ライブラリです。[マサチューセッツ工科大学]

プロセス間通信

  • Apache Thrift - 効率的な言語間IPC/RPCは、C++、Java、Python、PHP、C#、その他多くの言語で動作します。もともとはフェイスブックによって開発されました。[アパッチ2]
  • Boost.Interprocess - カーネルレベルの共有メモリとメモリマップトファイルをサポートし、組み込みの同期メカニズム(セマフォ、ミューテックスなど)を備えたヘッダーのみのBoostライブラリ。[ブースト]ウェブサイト
  • Cap'n Proto - 高速データ交換形式と機能ベースの RPC システム。[マサチューセッツ工科大学]ウェブサイト
  • eCAL - Pub/sub、client/server、C++/Python/C#、さまざまなメッセージプロトコル(protobuf、capnproto ..)。[アパッチ2]ウェブサイト
  • gRPC - 高性能でオープンソースの汎用 RPC フレームワーク。[BSD]ウェブサイト
  • Ice - C++、C#、Java、JavaScript、Pythonなどをサポートする包括的なRPCフレームワーク。[GPLv2]
  • iceoryx - C、Rustのバインディングを備えたセーフティクリティカルなシステム向けの真のゼロコピープロセス間通信フレームワーク。Linux、QNX、Windows、Mac OS、FreeBSD で動作します。[アパッチ2]ウェブサイト
  • libjson-rpc-cpp - C++ サーバおよびクライアント用の JSON-RPC フレームワーク。[マサチューセッツ工科大学]
  • nanomsg - いくつかの「スケーラビリティプロトコル」のシンプルで高性能な実装。[マサチューセッツ工科大学]ウェブサイト
  • nng - nanomsg-次世代、軽量のブローカーレスメッセージングライブラリ。[マサチューセッツ工科大学]ウェブサイト
  • rpclib - 最新の C++ msgpack-RPC サーバおよびクライアントライブラリ。[マサチューセッツ工科大学]
  • simple-rpc-cpp - C/C++ 関数へのシンプルな RPC ラッパージェネレータです。[BSD]
  • WAMP - RPC およびパブリッシュ/サブスクライブのメッセージング パターンを提供します。(さまざまな実装、さまざまな言語)
  • xmlrpc-c - XML と HTTP をベースにした軽量の RPC ライブラリです。[BSD]

ティッカー

  • Boost.PropertyTree - XML/JSON/INI/Info ファイルの解析に使用できるプロパティツリーパーサー/ジェネレータです。[ブースト]
  • cJSON - ANSI C. [MIT] の超軽量 JSON パーサー
  • フリーズ - C / C ++用のJSONパーサーおよびジェネレーター。[GPLとGPL2]
  • Glaze - 最新の C++ 用のメモリ、JSON、インターフェイスライブラリで非常に高速です。[マサチューセッツ工科大学]
  • Jansson - JSON データのエンコード、デコード、操作のための C ライブラリ。[マサチューセッツ工科大学]
  • jbson - jbson は C++14 で BSON データと JSON 文書を構築および反復するためのライブラリです。[ブースト]
  • JeayeSON - 非常に健全な(ヘッダーのみの)C ++ JSONライブラリ。[BSD]
  • Jsmn - C 言語のミニマルな JSON パーサー [MIT]
  • json - 最新の C++ 用の JSON。[マサチューセッツ工科大学]
  • JSON++ - C++ の JSON パーサー。[マサチューセッツ工科大学]
  • json.h - CおよびC ++でJSONを解析するためのシンプルな1つのヘッダー/ 1つのソースソリューション。[ライセンス解除]
  • json-build - C89 の小さなゼロ割り当て JSON シリアライザー。[マサチューセッツ工科大学]
  • json-c - C での JSON 実装。 [MIT]
  • jsoncons - JSONPointer、JSONPatch、JSONPath、JMESPath を使用した JSON および JSON ライクなバイナリフォーマット用の C++ ヘッダー専用ライブラリ。[ブースト]
  • JsonCpp - JSON と対話するための C++ ライブラリ。[マサチューセッツ工科大学]
  • json-parser - ポータブル ANSI C. [BSD] で書かれた非常にフットプリントの少ない JSON パーサ
  • json11 - C++11 用の小さな JSON ライブラリです。[マサチューセッツ工科大学]
  • json-struct - C++ 構造体との間で解析を行う高性能の単一ヘッダー JSON パーサー。[マサチューセッツ工科大学]
  • json-voorhees - C++ 用の JSON ライブラリ。C++11 のサポート。依存関係がなく、高速で開発者に優しい。[アパッチ2]
  • jute - 非常にシンプルな C++ JSON パーサー。[パブリックドメイン]
  • libjson - C 言語の JSON パーサおよびプリンタライブラリで、どのモデルとも簡単に統合できます。[LGPL]
  • libjson - 軽量のJSONライブラリ。[?]
  • LIBUCL - ユニバーサル設定ライブラリパーサ [BSD-2-句] ⚡
  • parson - Parson は C 言語で書かれた軽量の json ライブラリです。
  • PicoJSON - C++ のヘッダーファイル専用の JSON パーサーシリアライザー。[BSD]
  • qt-json - JSON データを QVariant 階層に解析したり、その逆を行ったりするためのシンプルなクラスです。[GPLv3]
  • QJson - JSON データを QVariant オブジェクトにマッピングする qt ベースのライブラリ。[LGPL2]
  • RapidJSON - SAX / DOMスタイルのAPIの両方を備えたC ++用の高速JSONパーサー/ジェネレーター。[マサチューセッツ工科大学]
  • sajson - C++11 用の軽量で非常に高性能な JSON パーサ。[マサチューセッツ工科大学]
  • simdjson - 毎秒ギガバイトのJSONを解析できる非常に高速なJSONライブラリ。[アパッチ-2.0]
  • taoJSON - ゼロ依存性 C++ ヘッダーのみの JSON ライブラリ。[マサチューセッツ工科大学]
  • ujson - μjsonは小さなC ++ 11、UTF-8、JSONライブラリです。[マサチューセッツ工科大学]
  • YAJL - C 言語の高速ストリーミング JSON 解析ライブラリ [ISC]
  • yyjson - ANSI C [MIT] で書かれた高性能な JSON ライブラリ

伐採

  • ブラックホール - 属性ベースのロギングフレームワークで、高速でモジュール化され、高度にカスタマイズできるように設計されています。[マサチューセッツ工科大学]
  • Boost.Log - 非常にモジュール化され、拡張できるように設計されています。[ブースト]
  • Easylogging++ - C ++ 11(またはそれ以上)アプリケーション用の非常に軽量な高性能ロギングライブラリ。[マサチューセッツ工科大学]
  • fmtlog - ナノ秒単位のレイテンシーを持つパフォーマンスの高い fmtlib スタイルのロギングライブラリ。[マサチューセッツ工科大学]
  • G3log - 動的シンクを使用した非同期ロガー。[パブリックドメイン]
  • glog - Google ロギングモジュールの C++ 実装。
  • Log4cpp - ファイル、syslog、IDSA およびその他の宛先への柔軟なロギングのための C++ クラスのライブラリ。[LGPL]
  • log4cplus - 使いやすい C++ ロギング API で、ログの管理と構成をスレッドセーフで柔軟かつ任意にきめ細かく制御できます。[BSD & Apache2]
  • loguru - 軽量の C++ ロギングライブラリ。[パブリックドメイン]
  • plog - 1000 行未満のコードで C++ 用の移植可能でシンプルなログ。[MPL2]
  • reckless - C++ 用の低待機時間、高スループットの非同期ログ ライブラリ。[マサチューセッツ工科大学]
  • spdlog - 超高速、ヘッダーのみ、C++ ログ ライブラリ。
  • templog - C++ アプリケーションにロギングを追加するために使用できる、非常に小さくて軽量な C++ ライブラリ。[ブースト]
  • P7Baical - CPUとメモリの使用量を最小限に抑えてテレメトリとトレースデータを高速に送信するためのオープンソースのクロスプラットフォームライブラリ。[LGPL]
  • Quill - 非同期クロスプラットフォームの低遅延ロギングライブラリ。[マサチューセッツ工科大学]

機械学習

  • Caffe - ニューラルネットワークのための高速フレームワーク。[BSD]
  • CCV - Cベース/キャッシュ/コアコンピュータビジョンライブラリ、最新のコンピュータビジョンライブラリ。[BSD]
  • darknet - CとCUDAで書かれたオープンソースのニューラルネットワークフレームワーク。[パブリックドメイン]ウェブサイト
  • Dlib - 最新のC ++ 11機械学習、コンピュータービジョン、数値最適化、ディープラーニングツールキット。[ブースト]ウェブサイト
  • Fido - 組み込みエレクトロニクスおよびロボット工学向けの高度にモジュール化された C++ 機械学習ライブラリ。[マサチューセッツ工科大学]ウェブサイト
  • 懐中電灯 - Facebook AI Researchの高速で柔軟な機械学習ライブラリで、完全にC ++で書かれ、ArrayFireテンソルライブラリに基づいています。[BSD-3-句]ウェブサイト
  • libsvm - サポートベクターマシンのためのシンプルで使いやすく効率的なライブラリ。[BSD-3-句]ウェブサイト
  • m2cgen - トレーニング済みのクラシック ML モデルを依存関係のないネイティブ C コードにトランスパイルするための CLI ツール。[マサチューセッツ工科大学]
  • MeTA - 最新の C++ データ サイエンス ツールキット。[マサチューセッツ工科大学]ウェブサイト
  • ミネルバ - ディープラーニングのための高速で柔軟なシステム。[アパッチ2]
  • mlpack - スケーラブルな C++ 機械学習ライブラリ。[LGPLv3]ウェブサイト
  • OpenCV - オープンソースのコンピュータビジョンライブラリ。[BSD]ウェブサイト
  • oneDAL - ビッグ データ分析の高速化に役立つ強力な機械学習ライブラリ。[アパッチ]
  • ONNX ランタイム - トレーニングと推論 ONNX モデルのための C および C++ ライブラリ。ONNX は、トレーニングされているライブラリに関係なく、AI モデルを変換できる標準です。[マサチューセッツ工科大学]ウェブサイト
  • レコメンダー - 協調フィルタリング(CF)を使用した製品レコメンデーション/提案のためのCライブラリ。[BSD]
  • RNNLIB - RNNLIB は、シーケンス学習問題のためのリカレントニューラルネットワークライブラリです。[GPLv3]
  • 将軍 - 将軍機械学習ツールボックス。[GPLv3]
  • sofia-ml - 機械学習のための高速インクリメンタルアルゴリズムのスイート。[アパッチ2]
  • VLFeat - VLFeat オープンソースライブラリは、画像理解とローカル機能抽出およびマッチングに特化した一般的なコンピュータビジョンアルゴリズムを実装しています。[BSD-2-句]ウェブサイト
  • xgboost - スケーラブルでポータブルで分散型の勾配ブースティング (GBDT、GBRT または GBM) ライブラリで、Python、R、Java、Scala、C++ などに対応しています。単一のマシン、Hadoop、Spark、Flink、DataFlowで動作します。[アパッチ2]
  • ncnn - モバイルプラットフォーム向けに最適化された高性能ニューラルネットワーク推論コンピューティングフレームワーク。[BSD]

数学

  • Apophenia - 統計的および科学的計算のためのCライブラリ[GPL2]
  • Armadillo - 線形代数と科学計算のための高速 C++ ライブラリ。[アパッチ2]ウェブサイト
  • autodiff - 自動微分のためのモダンで高速かつ表現力豊かな C++ ライブラリ。[マサチューセッツ工科大学]ウェブサイト
  • blaze - 高密度および疎な算術演算のための高性能 C++ 数学ライブラリ。[BSD]
  • Boost.Multiprecision - C++ で、ヘッダーのみ、または GMP/MPFR/LibTomMath バックエンドで、より高い範囲/精度の整数型、有理数型、浮動小数点型を提供します。[ブースト]
  • セレスソルバー - Googleの大規模で複雑な非線形最小二乗問題をモデル化して解決するためのC ++ライブラリ。[BSD]
  • CGAL - 効率的で信頼性の高い幾何学的アルゴリズムのコレクション。[LGPL&GPL]ウェブサイト
  • cml - ゲームやグラフィックスのための無料のC ++数学ライブラリ。[ブースト]
  • CNL - C++ 用の合成数値ライブラリ。[ブースト]
  • CXXGraph - 表現とアルゴリズム実行のための無料のC ++(17)グラフヘッダー専用ライブラリ。[AGPL-3.0]
  • Dlib - 最新のC ++ 11機械学習、コンピュータービジョン、数値最適化、ディープラーニングツールキット。[ブースト]ウェブサイト
  • Eigen - 線形代数、行列およびベクトル演算、数値ソルバーおよび関連アルゴリズム用のテンプレートヘッダーの高レベルC ++ライブラリ。[MPL2]
  • ExprTK - C++ 数式ツールキット ライブラリ (ExprTk) は、使いやすく、統合しやすく、非常に効率的なランタイム数式パーサーおよび評価エンジンです。[マサチューセッツ工科大学]
  • 幾何学的ツール - 数学、グラフィックス、画像解析、物理学の分野で計算するためのC ++ライブラリ。[ブースト]ウェブサイト
  • GLM - OpenGL の GLSL 数学と一致し、相互運用するヘッダーのみの C++ 数学ライブラリ。 [MIT] ウェブサイト
  • GMTL - グラフィックス数学テンプレートライブラリは、グラフィックスプリミティブを一般化された方法で実装するツールのコレクションです。[GPL2]
  • GMP - 符号付き整数、有理数、浮動小数点数を操作する任意精度演算用の C ライブラリ。[LGPL3 & GPL2]
  • Klein - 点、線、平面の投影、交差、結合、剛体運動などのための、SIMDに最適化された高速なC ++ 17幾何代数ライブラリ。[マサチューセッツ工科大学]ウェブサイト
  • linalg.h - シングルヘッダ、パブリックドメイン、C++用の短ベクトル数学ライブラリ。[ライセンス解除]
  • MatX - MATLAB/Python ライクな構文を持つ GPU アクセラレーションによる C++17 数値計算ライブラリ [BSD 3-句]
  • MIRACL - 多精度整数および有理演算暗号ライブラリ。[AGPL]
  • NumCpp - Python Numpy ライブラリのテンプレート化されたヘッダーのみの C++ 実装。[マサチューセッツ工科大学]
  • muparser - muParser は、C++ で記述された拡張可能な高性能数学式パーサライブラリです。[マサチューセッツ工科大学]
  • LibTomMath - 完全に C 言語で書かれたフリーのオープンソースのポータブル整数論的多重精度整数ライブラリ [PublicDomain & WTFPL] ウェブサイト
  • linmath.h - グラフィックスプログラミングを目的とした無駄のない線形数学ライブラリ。[WTFPL]
  • lp_solve - 線形計画問題を定式化して解決するために使用されるライブラリ。[LGPL]ウェブサイト
  • OpenBLAS - GotoBLAS2 1.13 BSDバージョンをベースにした最適化されたBLASライブラリ。[BSD 3句]ウェブサイト
  • PCG-rand - PCGは、乱数生成のためのシンプルで高速なスペース効率の良い統計的に優れたアルゴリズムのファミリーです。多くの汎用RNGとは異なり、予測も困難です。[アパッチ]
  • QuantLib - 定量的金融のためのフリー/オープンソースライブラリ。[修正BSD]ウェブサイト
  • StatsLib - 統計分布関数の C++ ヘッダーのみのライブラリ。[アパッチ2]ウェブサイト
  • SymEngine - 高速な記号操作ライブラリ、C++ での SymPy のコアの書き換え。[マサチューセッツ工科大学]
  • TinyExpr - 文字列から数式を解析および評価するためのCライブラリ。[ズリブ]
  • Vc - C++ 用の SIMD ベクタークラス。[BSD]
  • Versor - ユークリッド、射影、共形、時空などを含む幾何代数のための(高速な)汎用C ++ライブラリ。
  • Wykobi - 効率的で堅牢で使いやすいC ++ 2D / 3D指向の計算幾何学ルーチンのC ++ライブラリ。[マサチューセッツ工科大学]
  • xtensor - NumPy 構文に触発された、多次元配列式を使用した数値解析用の C++14 ライブラリ。[BSD 3句]ウェブサイト
  • universal - 任意のポジット演算を実装するC ++ 14ヘッダーのみのライブラリ。位置記数法は、IEEE 浮動小数点よりも効率的なテーパ浮動小数点です。ポジットは、再現性のある計算科学を可能にします。[MITライセンス]

メモリ割り当て

  • ベームGC - C および C++ 用の保守的なガベージコレクタ。[X11に似ている]ウェブサイト
  • C スマートポインタ - (GNU) C プログラミング言語用のスマートポインタ。[マサチューセッツ工科大学]
  • Hoard - Linux、Windows、およびMac用の高速でスケーラブルでメモリ効率の高いMalloc。 [GPL、商用]ウェブサイト
  • jemalloc - 断片化の回避とスケーラブルな並行性のサポートを強調する汎用 malloc(3) 実装。[BSD]ウェブサイト
  • memory - STL 互換の C++ メモリ アロケータ ライブラリ。[ZLib]
  • メモリ アロケータ - 動的メモリ割り当てのパフォーマンスを向上させるカスタム メモリ アロケータ。[マサチューセッツ工科大学]
  • mimalloc - 優れた性能を備えたコンパクトな汎用アロケータ。[マサチューセッツ工科大学]
  • rpmalloc - クロスプラットフォームロックフリースレッドキャッシング C で実装された 16 バイトアラインメントメモリアロケータ [パブリックドメイン]
  • snmalloc - メッセージパッシングベースの高性能アロケータ。[マサチューセッツ工科大学]
  • TCMalloc - Google の高速マルチスレッド malloc 実装。[Apache-2.0] ウェブサイト
  • tgc - ~500 LOC で書かれた C 用の小さなガベージコレクタです。 [BSD]

マルチメディア

  • GStreamer - メディア処理コンポーネントのグラフを構築するためのライブラリ。[LGPL]
  • libass - ASS/SSA字幕フォーマット用のポータブル字幕レンダラー。[ISC]
  • libav -オーディオ、ビデオ、字幕、関連するメタデータなどのマルチメディアコンテンツを処理するためのライブラリとツールのコレクション。[LGPL v2.1+ など]ウェブサイト
  • LIVE555 Streaming Media - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
  • libVLC - libVLC (VLC SDK) media framework. [GPL]
  • MediaInfoLib - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD]
  • QtAv - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] website
  • SDL - Simple DirectMedia Layer. [zlib]
  • SFML - Simple and Fast Multimedia Library. [zlib] website
  • TagLib - A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] website

Networking

  • ACE - An OO Network Programming Toolkit in C++. [?MIT?]
  • Boost.Asio - A cross-platform C++ library for network and low-level I/O programming. [Boost]
  • Boost.Beast - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] website
  • Breep - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)]
  • C++ REST SDK - C++ REST SDK (previously named Casablanca). [Apache2]
  • Restbed - C++11 Asynchronous RESTful framework. [AGPL]
  • Restinio - A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD]
  • c-ares - A C library for asynchronous DNS requests. [MIT]
  • cpp-httplib - A single file C++11 header-only HTTP/HTTPS server library. [MIT]
  • cpp-netlib - A collection of open-source libraries for high level network programming. [Boost]
  • cpp-netlib/uri - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0]
  • CppServer - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT]
  • cpr - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] website
  • curlcpp - An object oriented C++ wrapper for CURL(libcurl). [MIT]
  • DPDK - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] website
  • Dyad.c - Asynchronous networking for C. [MIT]
  • ENet - Reliable UDP networking library. [MIT] website
  • evpp - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD]
  • H2O - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT]
  • HTTP Parser - A http request/response parser for C. [MIT]
  • KCP - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT]
  • libcurl - Multiprotocol file transfer library. [MIT/X derivate license]
  • libhttpserver - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1]
  • Libmicrohttpd - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+]
  • libpcap - A portable C/C++ library for network traffic capture. [BSD] website
  • libquic - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD]
  • librdkafka - Apache Kafka client library for C and C++. [BSD-2-Clause]
  • libwebsockets - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] website
  • Lithium - Build high performance C++ HTTP servers without being a C++ expert. [MIT]
  • lwIP - A lightweight TCP/IP stack. [Modified BSD]
  • Mongoose - Extremely lightweight webserver. [GPL2]
  • MQTT-C - A portable MQTT C client for embedded systems and PCs alike. [MIT] website
  • mTCP - Highly scalable user-level TCP stack for multicore systems. [Modified BSD]
  • Muduo - A C++ non-blocking network library for multi-threaded server in Linux. [BSD]
  • nghttp2 - HTTP/2 C Library. [MIT] website
  • Onion - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2]
  • PF_RING™ - High-speed packet processing framework. [LGPL-2.1] website
  • PicoHTTPParser - A tiny, primitive, fast HTTP request/response parser. [MIT]
  • POCO - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] website
  • Proxygen - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD]
  • RakNet - A cross platform, open source, C++ networking engine for game programmers. [BSD]
  • restclient-cpp - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT]
  • Seasocks - Simple, small, C++ embeddable webserver with WebSockets support. [BSD]
  • tlse - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause]
  • Tufão - An asynchronous web framework for C++ built on top of Qt. [LGPL2]
  • uriparser - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause]
  • uWebSockets - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib]
  • WAFer - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2]
  • Wangle - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0]
  • wdt - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause]
  • WebSocket++ - C++/Boost Asio based websocket client/server library. [BSD]
  • PcapPlusPlus - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense]
  • ZeroMQ - High-speed, modular asynchronous communication library. [LGPL] website

PDF

Libraries for parsing and manipulating PDF documents.

  • libharu - A free, cross platform, open-sourced software library for generating PDF. [zlib]
  • litePDF - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib]
  • MuPDF - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial]
  • PoDoFo - A library to work with the PDF file format. [LGPL]
  • Poppler - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3]
  • Xpdf - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3]
  • DynaPDF - An easy-to-use PDF generation library. [Commercial]

Physics

Dynamics simulation engines

  • Box2D - A 2D physics engine for games. [BSD-like]
  • Bullet - A 3D physics engine for games. [zlib] website
  • Chipmunk - A fast and lightweight 2D game physics library. [MIT] website
  • LiquidFun - A 2D physics engine for games. [BSD-like]
  • Newton Dynamics - An integrated solution for real time simulation of physics environments. [zlib]
  • ODE - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL]
  • Kratos - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] website
  • ofxBox2d - openFrameworks wrapper for Box2D. [BSD-like]
  • PhysX - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause]
  • Project Chrono - An open source multi-physics simulation engine. [BSD-3-Clause] website
  • Quantum++ - A modern C++11 quantum computing library. [MIT]
  • Simbody - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2]
  • SOFA - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] website

Reflection

  • config-loader - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT]
  • Better Enums - Reflective enums (to string, iteration). Single header. [BSD] website
  • clReflect - C++ Reflection using clang. [MIT]
  • CPFG - A C++03 library for reflection, callback and script binding. [Apache2] website
  • CPP-Reflection - C++ Reflection using clang. [MIT]
  • Easy Reflection - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache]
  • Magic Enum - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT]
  • magic_get - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost]
  • meta - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT]
  • Nameof - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT]
  • Ponder - A C++11 library for reflection. [MIT]
  • RTTR - A C++11 library for reflection. [MIT] website
  • visit_struct - A miniature library for struct-field reflection in C++. [BSL-1.0]
  • Refureku - A C++17 runtime reflection and code generation library. [MIT]

Regular Expression

  • CppVerbalExpressions - C++ regular expressions made easy. [MIT]
  • CTRE - A Compile time PCRE (almost) compatible regular expression matcher. [MIT]
  • Hyperscan - Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. [BSD]
  • Oniguruma - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD]
  • PCRE - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD]
  • PIRE - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0]
  • RE2 - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause]
  • SLRE - Super Light Regexp engine for C/C++. [GPLv2/Commercial]
  • sregex - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD]

Robotics

  • MOOS-IvP - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles.
  • MRPT - Mobile Robot Programming Toolkit. [BSD]
  • PCL - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] website
  • Robotics Library (RL) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD]
  • RobWork - A collection of C++ libraries for simulation and control of robot systems. [Apache2] website
  • ROS - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD]
  • YARP (Yet Another Robot Platform) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] website

Scientific Computing

  • AMGCL - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT]
  • FFTW - A C library for computing the DFT in one or more dimensions. [GPL]
  • GSL - GNU scientific library. [GPL]
  • preCICE - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] website
  • TileDB - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] website
  • Trilinos - High performance PDE solvers. [BSD]
  • Torch - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] website

Scripting

  • AngelScript - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib]
  • Boost.Python - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost]
  • cppimport - Import C++ files directly from Python! [MIT]
  • CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT]
  • ChaiScript - An easy to use embedded scripting language for C++. [BSD] website
  • ctypes.sh - A foreign function interface for bash. [MIT]
  • Cython - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] website
  • djinni - A tool for generating cross-language type declarations and interface bindings. [Apache2]
  • Duktape - An embeddable Javascript engine with compact footprint. [MIT] website
  • JavaCpp - The missing bridge between Java and native C++. [Apache2]
  • libffi - A portable foreign-function interface library. [MIT] website
  • Lua - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT]
  • LuaBridge - A lightweight, dependency-free library for binding Lua to C++. [MIT]
  • luacxx - C++11 API for creating Lua bindings. [MIT]
  • nbind - Magical headers that make your C++ library accessible from JavaScript. [MIT]
  • PHP-CPP - A library to build PHP extensions with C++. [Apache2] website
  • pybind11 - Seamless operability between C++11 and Python. [BSD]
  • SIP - C or C++ Bindings Generator for Python v2 and v3. [GPL]
  • sol2 - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT]
  • SWIG - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] website
  • V7 - An embedded JavaScript engine. [GPL2]
  • V8 - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD]
  • ChakraCore -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT]

Serialization

  • Bitsery - Header only C++ binary serialization library. [MIT]
  • Bond - An open source, cross-platform framework for working with schematized data. [MIT]
  • Boost.Serialization - Boost Serialization Library. [Boost]
  • Cap'n Proto - Fast data interchange format and capability-based RPC system. [MIT] website
  • cereal - A C++11 library for serialization. [BSD]
  • cista - A C++17 library for zero-copy high-performance (de-)serialization. [MIT]
  • cppcodec - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT]
  • FastBinaryEncoding - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT]
  • FlatBuffers - A Memory efficient serialization library. [Apache2]
  • MessagePack - Efficient binary serialization format "like JSON" for C and C++. [Apache2] website
  • mrpt-serialization - Versioned serialization to binary or text formats. [BSD] website
  • nanopb - Small code-size Protocol Buffers implementation in ANSI C. [Zlib]
  • protobuf - Protocol Buffers - Google's data interchange format. [BSD]
  • protobuf-c - Protocol Buffers implementation in C. [BSD]
  • SimpleBinaryEncoding - encoding and decoding application messages in binary format for low-latency applications. [Apache2]
  • upb - A small protobuf implementation in C. [BSD]
  • YAS - Very fast Yet Another Serialization library supports the binary/text/json formats. [Boost]
  • zpp_bits - Actually, the fastest modern Serialization library. Just check this video.

Sorting

  • pdqsort - Pattern-defeating quicksort. [zlib]
  • Timsort - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT]
  • Indiesort - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] website

Video

  • libvpx - VP8/VP9 Codec SDK. [BSD]
  • FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2]
  • libde265 - Open h.265 video codec implementation. [LGPL] website
  • x265 - Open h.265 video codec implementation. [GPL2] website
  • OpenH264 - Open Source H.264 Codec. [BSD] website
  • Theora - A free and open video compression format. [BSD]
  • Vireo - A lightweight and versatile video processing library by Twitter. [MIT]

Virtual Machines

  • CarpVM - "interesting" VM in C. Let's see how this goes. [GPLv3]
  • MicroPython - Aims to put an implementation of Python 3.x on a microcontroller. [MIT]
  • TinyVM - A small, fast, lightweight virtual machine written in pure ANSI C. [MIT]

Web Application Framework

  • Civetweb - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT]
  • C++ REST SDK - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT]
  • CppCMS - A Free High Performance Web Development Framework (not a CMS). [LGPLv3]
  • Crow - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] website
  • Cutelyst - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] website
  • Drogon - A C++14/17 based, high-performance HTTP application framework. [MIT]
  • facil.io - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] website
  • Kore - ultra fast and flexible web server / framework for web applications developed in C. [ISC]
  • libOnion - lightweight library to help you create webservers in C programming language. [LGPLv3]
  • lwan - Experimental, scalable, high performance HTTP server. [GPL2]
  • oat++ - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] website
  • Pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
  • QDjango - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL]
  • TreeFrog Framework - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] website
  • userver - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] website
  • Wt - A C++ library for developing web applications. [GPL/Commercial]

XML

XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds

  • Boost.PropertyTree - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost]
  • Expat - An XML parser library written in C. [MIT]
  • Libxml2 - The XML C parser and toolkit of Gnome. [MIT]
  • libxml++ - An XML Parser for C++. [LGPL2]
  • Mini-XML - A small XML parsing library written in ANSI C. [LGPL2 with exceptions]
  • PugiXML - A light-weight, simple and fast XML parser for C++ with XPath support. [MIT]
  • RapidXml - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost]
  • TinyXML - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib]
  • TinyXML2 - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib]
  • TinyXML++ - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT]
  • Xerces-C++ - A validating XML parser written in a portable subset of C++. [Apache2]

Yaml

  • mini-yaml - Single header YAML 1.0 C++11 serializer/deserializer. [MIT]
  • yaml-cpp - A YAML parser and emitter in C++ [MIT]
  • rapidyaml - Rapid YAML is a C++ library to parse and emit YAML [MIT]

Miscellaneous

Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet

  • access_profiler - A tool to count accesses to member variables in c++ programs. [GPL3]
  • American fuzzy lop a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2]
  • Argon2 - The password hash Argon2, winner of PHC. [CC0/Apache2]
  • Better String - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2]
  • Boost.Signals - An implementation of a managed signals and slots system. [Boost]
  • Concord - A Discord API wrapper library written in C. [MIT] website
  • CPPItertools - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause]
  • D++ (DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] website
  • DynaMix - A library which allows you to compose and modify objects at run time. [MIT]
  • fccf - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT]
  • {fmt} - Small, safe and fast formatting library for C++. [Simplified BSD]
  • FastFormat - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD]
  • casacore - A set of c++ core libraries derived from aips++. [LGPL]
  • QtVerbalExpressions - This Qt lib is based off of the C++ VerbalExpressions library. [MIT]
  • cxx-prettyprint - A pretty printing library for C++ containers. [Boost]
  • icecream-cpp - A small printing library for debugging purposes. [MIT]
  • gcc-poison - A simple header file for developers to ban unsafe C/C++ functions from applications.
  • jwt-cpp - A header only library for creating and validating JSON web tokens in C++. [MIT]
  • Kangaru - A dependency injection container for C++11 and C++14. [MIT]
  • Klib - Small and lightweight implementations of common algorithms and data structures. [MIT]
  • libsigc++ - A typesafe callback system for standard C++. [LGPL] website
  • libcpuid - A small C library for x86 CPU detection and feature extraction. [BSD]
  • libevil - The Evil License Manager. [GPLv3]
  • libnih - A lightweight library of C functions and structures. [GPL2.1]
  • libusb - A universal USB library which allows for portable access to USB devices. [LGPL2]
  • Mach7 - A Pattern-matching library for C++. [BSD]
  • mio - Cross-platform C++11 header-only library for memory mapped file IO. [MIT]
  • PEGTL - The Parsing Expression Grammar Template Library. [MIT]
  • Remote Call Framework - Inter-process communication framework for C++. [GPL2/Commercial]
  • Scintilla - A free source code editing component. [MIT]
  • SDS - Simple Dynamic Strings library for C. [BSD]
  • semver.c - A semver parser and render in ANSI C. [MIT]
  • Serial Communication Library - Cross-platform, Serial Port library written in C++. [MIT]
  • sigslot - C++ Signal/Slot Library. [PublicDomain]
  • SimpleSignal - High performance C++11 signals. [PublicDomain]
  • Stage - Mobile robot simulator. [GPL2]
  • stdman Formatted C++11/14 stdlib man pages (from cppreference). [MIT]
  • stb - A range of single-file libraries for C/C++. [PublicDomain]
  • StrTk - A C++ library consisting of high performance string processing routines. [MIT]
  • Tulip Indicators - A C library of over 100 financial technical analysis indicators. [LGPL]
  • ub-canaries - A collection of C/C++ programs that try to get compilers to exploit undefined behavior.
  • value-category-cheatsheet A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft]
  • VarTypes - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]
  • ZBar - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2]
  • ZXing - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache]
  • pprint - Pretty Printer for Modern C++. [MIT]
  • pspsdk - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3]

Software

Software for creating a development environment.

Compiler

List of C or C++ compilers

  • 8cc - A Small C Compiler.
  • c - Compile and execute C "scripts" in one go! [MIT]
  • Clang - A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA]
  • GCC - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3]
  • PCC - A very old C compiler. Supports C99.
  • Intel C++ Compiler - Developed by Intel.
  • LLVM - Collection of modular and reusable compiler and toolchain technologies.
  • Microsoft Visual C++ - MSVC, developed by Microsoft.
  • Open WatCom - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License]
  • Oracle Solaris Studio - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License]
  • TCC - Tiny C Compiler. [LGPL]

Online Compiler

List of online C or C++ compilers

  • codechef - A simple online compiler CodeChef.
  • codepad - An online compiler/interpreter, and a simple collaboration tool.
  • coliru - Online compiler/shell with support for various C++ compilers.
  • Compiler Explorer - An interactive compiler with assembly output available.
  • CompileOnline - Compile and Execute C++ online on Linux.
  • Ideone - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages.
  • repl.it - A powerful yet simple tools and platforms for educators, learners, and developers.
  • Rextester - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors.
  • Try It Online - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages.
  • Wandbox - An online Clang/GCC compiler with Boost available.
  • paiza.io - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing.
  • InterviewBit - A simple and easy to use online C++ compiler.

Debugger

List of C or C++ debuggers

  • Comparison of debuggers - A list of Debuggers from Wikipedia.
  • GDB - GNU Debugger.
  • LLDB - The LLDB Debugger.
  • Metashell - An interactive template metaprogramming shell which includes the MDB metadebugger.
  • Valgrind - A tool for memory debugging, memory leak detection, and profiling.
  • x64dbg - An open-source x64/x32 debugger for windows.

Integrated Development Environment

List of C or C++ nominal IDEs.

  • Anjuta DevStudio - The GNOME IDE. [GPL3]
  • AppCode - an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform.
  • Cevelop - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins.
  • CLion - Cross-platform C and C++ IDE from JetBrains.
  • Code::Blocks - A free C, C++ and Fortran IDE.
  • CodeLite - Another cross-plaform, free C and C++ IDE. [GPL2 with an exception for plugins]
  • color_coded - A vim plugin for libclang-based highlighting. [MIT]
  • Dev-C++ - A portable C/C++/C++11 IDE.
  • Eclipse CDT - A fully functional C and C++ IDE based on the Eclipse platform.
  • Embarcadero Dev-CPP - A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2] website
  • Geany - Small, fast, cross-platform IDE. [GPL]
  • IBM VisualAge - A family of computer integrated development environments from IBM.
  • Irony-mode - A C/C++ minor mode for Emacs powered by libclang.
  • juCi++ - Cross-platform, lightweight C++ IDE with libclang integration. [MIT]
  • KDevelop - A free, open source IDE.
  • Microsoft Visual Studio - An IDE from Microsoft.
  • Microsoft Visual Studio Code - An open-source IDE from Microsoft. [MIT]
  • NetBeans - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5.
  • Qt Creator - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt.
  • rtags - A c/c++ client/server indexer with for integration with emacs based on clang.
  • Xcode - Developed by Apple.
  • YouCompleteMe - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.
  • cquery - A C++ code completion engine for vscode, emacs, vim, etc.

Build Systems

  • Bazel - A multi-language, fast and scalable build system from Google. [Apache]
  • Bear - A tool to generate compilation database for clang tooling. [GPLv3]
  • Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache]
  • build2 - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT]
  • clib - Package manager for the C programming language. [MIT]
  • CMake - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD]
  • Cget - Cmake package retrieval. [Boost] website
  • Conan - C/C++ Package Manager, open sourced. [MIT]
  • CPM - A C++ Package Manager based on CMake and Git.
  • FASTBuild - High performance, open-source build system supporting highly scalable compilation, caching and network distribution.
  • Hunter - CMake driven cross-platform package manager for C++. [BSD-2]
  • MesonBuild - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible.
  • Ninja - A small build system with a focus on speed.
  • Scons - A software construction tool configured with a Python script.
  • Sconsolidator - Scons build system integration for Eclipse CDT.
  • Spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT]
  • SW - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3]
  • tundra - High-performance code build system designed to give the best possible incremental build times even for very large software projects.
  • tup - File-based build system that monitors in the background for changed files.
  • Premake - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux.
  • Vcpkg - C++ library manager for Windows, Linux, and MacOS. [MIT]
  • waf - Python-based framework for configuring, compiling and installing applications. [BSD] website
  • XMake - A C/C++ cross-platform build utility based on Lua. [Apache]

Static Code Analysis

List of tools for improving quality and reducing defects by code analysis

  • Cppcheck - A tool for static C/C++ code analysis. - source
  • CppDepend - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code.
  • cpplint - A C++ style checker following Google's C++ style guide.
  • 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 - A tool for use with clang to analyze includes in C and C++ source files. website
  • Infer - A static analyzer for Java, C and Objective-C. [BSD]
  • OCLint - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - source
  • Clang Static Analyzer - A source code analysis tool that finds bugs in C, C++, and Objective-C programs.
  • Linticator - Eclipse CDT integration of Pc-/FlexeLint.
  • IKOS - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3]
  • List of tools for static code analysis - A list of tools for static code analysis from Wikipedia.
  • OptView2 - Inspect missed Clang optimizations
  • Trunk - Toolkit to check, test, merge, and monitor code.

Coding Style Tools

  • Artistic Style - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle.
  • ClangFormat - A tool to format C/C++/Obj-C code.
  • Clang-Tidy - Clang-based C++ linter tool.
  • EditorConfig - EditorConfig helps maintain consistent coding styles across different editors and IDEs.
  • Uncrustify - Code beautifier.

Resources

Various resources, such as books, websites, and articles for improving your C++ development skills and knowledge.

API Design

Articles

Fantastic C++ related articles.

Books

Fantastic C or C++ related books.

Coding Standards

Coding Style

Podcasts

  • CppCast - The first podcast by C++ developers for C++ developers.
  • CppChat - A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community.

Talks

Videos

Fantastic C or C++ related videos.

Websites

Useful C or C++ related websites.

Weblogs

Useful C or C++ related weblogs.

Other Awesome Projects

Collection of useful codes, snippets, ...

Other Awesome Lists

Other amazingly awesome lists

ジョブ

  • このリストは現在空ですが、マージ要求を開いて追加できます。

スポンサー

  • このレポのスポンサーに興味がある場合は、お問い合わせください。会社名とロゴがここに目立つように表示されます。

貢献

詳細については、投稿ガイドラインをざっと見てください。 すべての貢献者に感謝します。すごい!

メンテナンスされなくなった、または適切でないプロジェクトまたはリンクがここにある場合は、このドキュメントを改善するためにプルリクエストを送信してください。ありがとうございました!