C++
Source: https://github.com/fffaraz/awesome-cpp at
e724f64ef0c1
License: MIT
Read the English original
This edition is an AI-assisted translation.
Awesome C++

Section titled “Awesome C++ ”素晴らしいC++(またはC)のフレームワーク、ライブラリ、リソースなどを厳選した一覧です。awesome-… などに着想を得ています。
- Awesome C++
- 標準ライブラリ
- フレームワーク
- 人工知能
- 非同期イベントループ
- オーディオ
- 生物学
- BitTorrent
- 化学
- CLI
- 圧縮
- 並行処理
- 設定
- コンテナ
- 暗号技術
- CSV
- データベース
- データ可視化
- デバッグ
- ドキュメント
- DSP
- フォント
- ゲームエンジン
- グラフ
- GUI
- グラフィックス
- 画像処理
- 国際化
- プロセス間通信
- JSON
- ロギング
- 機械学習
- 数学
- メモリー割り当て
- マルチメディア
- ネットワーク
- Office Open XML
- 物理
- リフレクション
- 正規表現
- ロボティクス
- 科学計算
- スクリプティング
- シリアライズ
- シリアルポート
- ソート
- 動画
- 仮想マシン
- Webアプリケーションフレームワーク
- XML
- YAML
- その他
- ソフトウェア
- リソース
- その他の素晴らしいリスト
- 求人
- スポンサー
- 貢献 - この一覧にあるプロジェクトやリンクが保守されていない、または適切でない場合は、プルリクエストを送ってこの文書の改善にご協力ください。ありがとうございます!
標準ライブラリ
Section titled “標準ライブラリ”C++標準ライブラリ(STLコンテナ、STLアルゴリズム、STL関数型コンポーネントなどを含む)
- C++ Standard Library - コア言語で記述され、C++ ISO標準そのものの一部であるクラスと関数のコレクション。
- Standard Template Library - 標準テンプレートライブラリ(STL)。
- C POSIX library - POSIXシステム向けC標準ライブラリの仕様。
- ISO C++ Standards Committee - ISO/IEC JTC1/SC22/WG21、すなわちC++標準委員会。 website
- The GNU C Library - GNU Cライブラリの機能の使い方を説明するマニュアルです。
フレームワーク
Section titled “フレームワーク”C++の汎用フレームワークとライブラリ。
- abseil-cpp - Abseil C++共通ライブラリ。 [Apache2]
- Apache C++ Standard Library - STDCXX。アルゴリズム、コンテナ、イテレータ、その他の基本コンポーネントを集めたもの。 [retired] [Apache2]
- APR - Apache Portable Runtime。クロスプラットフォームのユーティリティ関数ライブラリです。 [Apache2]
- ASL - Adobe Source Librariesは、ピアレビュー済みで移植性の高いC++ソースライブラリを提供します。 [MIT]
- AUI - C++20向けの宣言型UIツールキット。 [MPL2]
- Boost :zap: - 汎用C++ライブラリの大規模なコレクション。 [Boost] website
- BDE - Bloomberg LabsのBDE開発環境。 [Apache2]
- C++ Workflow :zap: - C++並列計算および非同期ネットワークエンジン。 [Apache2]
- CGraph - サードパーティ製ライブラリに依存しない、C++ベースのクロスプラットフォームDAGフレームワーク。 [MIT]
- Cinder - プロ品質のクリエイティブコーディング向けにコミュニティが開発した、無料のオープンソースライブラリ。 [BSD]
- Coost - Goスタイルのコルーチン、ロギング、設定などのユーティリティを備えた、軽量で依存関係のないC++ライブラリ。 [MIT]
- Cxxomfort - 新しいC++標準のさまざまな機能をC++03以降にバックポートする、小さなヘッダーオンリーライブラリ。 [MIT]
- Dlib :zap: - 実用的な機械学習やデータ分析アプリケーションをC++で作成するためのツールキット。 [Boost] website
- EASTL - Electronic Arts標準テンプレートライブラリ。 [BSD]
- ETL - 組み込み向けテンプレートライブラリ。 [MIT]
- ffead-cpp - エンタープライズアプリケーション開発フレームワーク。 [Apache2]
- Folly - Facebookが開発し、利用しているオープンソースC++ライブラリ。 [Apache2]
- FunctionalPlus - C++向け関数型プログラミングライブラリ。簡潔で読みやすいC++コードを書けます。 [MIT]
- GLib - Cで記述されたライブラリやアプリケーションの中核となるアプリケーション構成要素を提供します。 [LGPL]
- itlib - std風のシングルヘッダーC++ライブラリのコレクション。 [MIT]
- JUCE - クロスプラットフォームソフトウェア開発のための、包括的なC++クラスライブラリ。 [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] website
- Kigs framework - 無料のオープンソースで、モジュール式・多目的・クロスプラットフォームのC++ RADフレームワーク。 [MIT] website
- libPhenom - Cで高性能かつ高い拡張性を備えたシステムを構築するためのイベント処理フレームワーク。 [Apache2]
- LibSourcey - リアルタイム動画ストリーミングや高性能ネットワークアプリケーション向けのC++11イベント駆動I/O。 [LGPL]
- LibU - Cで記述されたマルチプラットフォームのユーティリティライブラリ。 [BSD]
- libxutils - データ構造やアルゴリズムなどを備えた、シンプルで強力なクロスプラットフォームCライブラリ。 [MIT]
- Loki - 一般的なデザインパターンやイディオムを柔軟に実装する、設計用C++ライブラリ。 [MIT]
- micron.cpp - libcと標準ライブラリを純粋なC++で実装(および再設計)したもの。 [Boost/MIT]
- MiLi - 最小限のヘッダーオンリーC++ライブラリ。 [Boost]
- OpenFrameworks - C++のクリエイティブコーディング向けクロスプラットフォーム・オープンソースツールキット。 [MIT] website
- PhotonLibOS - 効率的なユーザー空間スレッド(ワークスティーリング方式のコルーチン)、I/O、ネットワーク、RPC、HTTPなどを備え、Alibabaで広く利用される包括的なC++フレームワーク。C++14/17/20/23、Linux、macOS、x86-64、ARM64、gcc、clangに対応。 [Apache2] website
- Qt :zap: - クロスプラットフォームのアプリケーションおよびUIフレームワーク。 [GPL/LGPL/Proprietary] website
- Reason - C++の性能と強みを必要とする開発者に、Java、.NET、Pythonのような使いやすさをもたらすことを目指すクロスプラットフォームフレームワーク。 [GPL2]
- ROOT - 大量のデータを非常に効率よく処理・分析するために必要な機能を備えた、オブジェクト指向フレームワーク群。CERNで利用されています。 [LGPL]
- rpp - Rustに着想を得た、最小限のC++20 STL代替ライブラリ。 [MIT]
- SaneCppLibraries - macOS、Windows、Linux向けのC++プラットフォーム抽象化ライブラリ群。 [MIT] website
- Seastar - 最新ハードウェア上の高性能サーバーアプリケーション向けの、高度なオープンソースC++フレームワーク。 [Apache-2.0 License] seastar.io
- sfl library - 新しい、またはあまり知られていないコンテナをいくつか提供するC++11ヘッダーオンリーライブラリ。その一部はC++20の定数式で使用できます。 [zlib]
- Siv3D - クリエイティブコーディング(2D/3Dゲーム、メディアアート、ビジュアライザー、シミュレーター)向けのC++20フレームワーク。 [MIT] website
- STLport - STLの模範的な実装。 [Free]
- STXXL - 超大規模データセット向け標準テンプレートライブラリ。 [Boost]
- tbox - glib風のマルチプラットフォームCライブラリ。 [Apache2] website
- Ultimate++ - C++クロスプラットフォームの迅速なアプリケーション開発フレームワーク。 [BSD]
- Windows Template Library - WindowsアプリケーションとUIコンポーネントの開発向けC++ライブラリ。 [Public]
- WUI - C++17以降でグラフィカルユーザーインターフェイスを作成するためのクロスプラットフォームライブラリ、WUI(Window User Interface Library)。 [Boost]website
- xtd - Windows、macOS、Linux、iOS、Android、FreeBSD、Haikuでコンソール(CLI)、フォーム(GUI)、単体テスト(xUnit)アプリケーションを作成するための最新C++20フレームワーク。 [MIT]
- Yomm2 - 高速で直交的、オープンなマルチメソッド。 Yomm11 [Boost]
- YUP! - リアルタイムオーディオとGPUネイティブのクリエイティブソフトウェア向けに最適化された最新フレームワーク。 [ISC]
- ANNetGPGPU - GPU(CUDA)ベースの人工ニューラルネットワークライブラリ。 [LGPL]
- btsk - ゲーム向けビヘイビアツリーのスターターキット。 [zlib]
- cpp-mcp - 軽量なC++ MCP(Model Context Protocol)SDK。 [MIT]
- Evolving Objects - 独自の確率的最適化アルゴリズムを非常に迅速に作成できる、テンプレートベースのANSI C++進化計算ライブラリ。 [LGPL]
- fastmcpp - PythonのfastmcpライブラリをC++に移植したもの。 [Apache2]
- frugally-deep - C++でKerasモデルを使用するためのヘッダーオンリーライブラリ。 [MIT]
- Genann - シンプルなCニューラルネットワークライブラリ。 [zlib]
- MXNet - 軽量、ポータブル、柔軟な分散/モバイル向けディープラーニング。動的で変更を認識するデータフロー依存関係スケジューラーを備え、Python、R、Julia、Scala、Go、JavaScriptなどに対応。 website
- PyTorch - 強力なGPUアクセラレーションを備えた、Pythonのテンソルおよび動的ニューラルネットワーク。 website
- flashlight - 完全にC++で記述された、高速で柔軟な機械学習ライブラリ。 [BSD]
- Recast/Detour - (3D)ナビゲーションメッシュの生成器および経路探索器。主にゲーム向け。 [zlib]
- TensorFlow - データフローグラフを使った数値計算のためのオープンソースソフトウェアライブラリ。 [Apache]
- Txeo - TensorFlow向けの最新C++ラッパー。 [Apache]
- oneDNN - ディープラーニングアプリケーション向けのオープンソース・クロスプラットフォーム性能ライブラリ。 [Apache] website
- CNTK - Microsoft Cognitive Toolkit(CNTK)、オープンソースのディープラーニングツールキット。 [Boost]
- tiny-dnn - C++11向けのヘッダーオンリーで依存関係のないディープラーニングフレームワーク。 [BSD]
- Veles - ディープラーニングアプリケーションを迅速に開発するための分散プラットフォーム。 [Apache]
- Kaldi - 音声認識ツールキット。 [Apache]
非同期イベントループ
Section titled “非同期イベントループ”- Asio - 最新のC++アプローチで一貫した非同期モデルを提供する、ネットワークおよび低レベルI/Oプログラミング向けのクロスプラットフォームC++ライブラリ。 [Boost] website
- Boost.Asio - ネットワークおよび低レベルI/Oプログラミング向けのクロスプラットフォームC++ライブラリ。 [Boost] website
- C++ Actor Framework - C++におけるActorモデルのオープンソース実装。 [BSD-3-Clause] website
- Ichor - スレッドセーフに重点を置き、依存性注入を提供するイベントキュー。 [MIT]
- libev - libeventを緩やかにモデルとしつつ、その制限やバグを持たない、機能豊富で高性能なイベントループ。 [BSD and GPL]
- libevent - イベント通知ライブラリ。 [BSD]
- libhv - クロスプラットフォームのイベントループライブラリ。 [BSD]
- libuv - クロスプラットフォームの非同期I/O。 [BSD]
- promise-cpp - Promise/A+標準を実装するヘッダーオンリーライブラリ。 [Anti-996]
- uvw - libuvのC++ラッパー。 [MIT]
- uv-cpp - C++11ベースのシンプルなインターフェイスを持つ高性能ネットワークライブラリ。 [MIT]
オーディオ、サウンド、音楽、デジタル音声のライブラリ
- Amplitude Audio SDK - ゲームのニーズを考慮して設計されたクロスプラットフォームのオーディオエンジン。 [Apache-2.0] website
- Aubio - オーディオと音楽の分析ライブラリ。 website
- AudioFile - オーディオファイルの読み書きを行うシンプルなC++ライブラリ。 [MIT]
- audioFlux - オーディオと音楽の分析および特徴抽出を行うCライブラリ。 [MIT]
- dr_libs - CおよびC++向けの単一ファイル音声デコードライブラリ。 [Unlicense]
- FMOD - ゲーム向けの使いやすいクロスプラットフォーム・オーディオエンジン兼オーディオコンテンツ作成ツール。 [Free for non-commercial/Commercial]
- KFR - 高速でモダンなC++ DSPフレームワーク。FFT、FIR/IIRフィルター、サンプルレート変換に対応。 [GPL/Proprietary]
- LAME - 高品質なMPEG Audio Layer III(MP3)エンコーダー。 [LGPL]
- libsndfile - サンプリング音声を含むファイルを、単一の標準ライブラリインターフェイスで読み書きするCライブラリ(C++ラッパー付き)。 [LGPL-2.1] website
- libsoundio - クロスプラットフォームのリアルタイム音声入出力向けCライブラリ。 [MIT] website
- Maximilian - C++オーディオおよび音楽DSPライブラリ。 [MIT]
- OpenAL - Open Audio Library。クロスプラットフォームのオーディオAPI。 [BSD/LGPL/Proprietary]
- miniaudio - 単一ファイルのオーディオ再生・キャプチャライブラリ。 [Unlicense] website
- ni-media - オーディオファイルの読み書きを行うC++ライブラリ。 [MIT]
- Opus - 完全にオープンでロイヤリティ不要、汎用性の高いオーディオコーデック。 [BSD]
- PortAudio - 無料、クロスプラットフォーム、オープンソースのオーディオI/Oライブラリ。 [MIT]
- rnnoise - 音声ノイズ低減のためのリカレントニューラルネットワーク。 [BSD-3-Clause]
- SELA - シンプルなロスレスオーディオ。 [MIT]
- SoLoud - ゲーム向けの使いやすくポータブルなオーディオエンジン。 [zlib]
- Speex - 自由な音声のための無料コーデック。Opusにより旧式化。 [BSD]
- Tonic - C++で簡単かつ効率的にオーディオを合成。 [Unlicense]
- Vorbis - Ogg Vorbisは、完全にオープンで非独占、特許料・ロイヤリティ不要の汎用圧縮オーディオ形式です。 [BSD]
- minimp3 - クリーンルーム実装による、パブリックドメインのヘッダーオンリーMP3デコーダー。 [CC0]
- Verovio - 高速で軽量な楽譜浄書ライブラリ。 [LGPL] website
- Wav2Letter++ - ArrayFireテンソルライブラリとflashlight機械学習ライブラリを利用して効率を最大化する、C++のみで記述された高速なオープンソース音声処理ツールキット(パブリックドメイン)。 [BSD]
- PocketSphinx - 軽量な音声認識エンジン。 [BSD-2-Clause] website
バイオインフォマティクス、ゲノミクス、バイオテクノロジー
- BioC++ - バイオインフォマティクス向けC++計算ライブラリ。 [BSD]
- Chaste - 生理学および生物学向けに開発された数学モデルの計算シミュレーションを行うオープンソースC++ライブラリ。 [BSD]
- libsequence - 集団遺伝学データを表現・分析するためのC++ライブラリ。 [GPL]
- SeqAn - 生物学データを中心とした配列分析向けのアルゴリズムとデータ構造。 [BSD/3-clause]
- Vcflib - VCFファイルの解析と操作を行うC++ライブラリ。 [MIT]
- Wham - BAMファイルに関連解析を直接適用してゲノムの構造変異(SV)を検出。 [MIT]
- htslib - ハイスループット・シーケンシングデータを読み書きするCライブラリ。 [MIT/BSD] website
BitTorrent
Section titled “BitTorrent”- jech/dht - C製のBitTorrent DHTライブラリ。 [MIT]
- libtorrent (a.k.a. libtorrent-rasterbar) - 効率的で機能を網羅したC++ BitTorrent実装。 [BSD]
- LibTorrent (a.k.a. libtorrent-rakshasa) - BitTorrentライブラリ。 [GPL]
- libutp - uTorrentトランスポートプロトコルライブラリ。 [MIT]
化学、量子化学、固体化学/物理、地球化学、生化学
- d-SEAMS - Nixを用いた、C++およびLua製の分子動力学トラジェクトリ解析エンジン。分子シミュレーションの構造解明を後回しにする分析(Deferred Structural Elucidation Analysis for Molecular Simulations)の略称です。 [GPL] website
- gromacs - メッセージパッシング方式の並列分子動力学実装。 [GPL] website
- Reaktoro - 化学反応系をモデル化するC++およびPythonの計算フレームワーク。 [LGPL] website
- LAMMPS - 材料モデリングに重点を置いた古典分子動力学コード。Large-scale Atomic/Molecular Massively Parallel Simulatorの略称です。 [GPL] website
- MADNESS - 科学シミュレーション向け多重解像度適応数値環境。 [GPL] website
- MPQC - Massively Parallel Quantum Chemistry(MPQC)は、時間に依存しないシュレーディンガー方程式を用い、第一原理から原子や分子の物性を計算します。 [GPL] website
- Psi - 非経験的計算化学パッケージ。 [GPL] website
コンソール/ターミナルのユーザーインターフェイス、コマンドラインインターフェイス
- Argh! - 最小限でストレスなく使えるヘッダーオンリーの引数ハンドラー。 [BSD]
- argparse - モダンC++向け引数パーサー。 [MIT]
- args - シンプルなヘッダーオンリーC++引数パーサーライブラリ。 [MIT]
- Argy - モダンC++向けコマンドライン引数解析ライブラリ。シンプルで直感的なヘッダーオンリー実装、依存関係なし。 [MIT]
- barkeep - 非同期アニメーション、カウンター、進捗バーを表示する小さなC++ヘッダー。 [Apache-2.0] website
- Boost.Program_options - コマンドラインや設定ファイルなど一般的な方法でプログラムオプションを取得するライブラリ。 [Boost] website
- cli - 対話型コマンドラインインターフェイス(Ciscoスタイル)向けクロスプラットフォームのヘッダーオンリーC++14ライブラリ。 [Boost]
- CLI11 - シンプルおよび高度なCLI解析向けの、単一ファイルまたは複数ファイル構成のヘッダーオンリーC++11ライブラリ。 [BSD]
- clipp - 単一ヘッダーファイルで使える、C++11/14/17向けの使いやすく強力で表現力豊かなコマンドライン引数処理。 [MIT]
- cpp-terminal - マルチプラットフォームのターミナルアプリケーションを作成する小さなヘッダーオンリーC++ライブラリ。 [MIT]
- Crossline - 小型で自己完結型、設定不要、MITライセンスのクロスプラットフォームなreadline/libedit代替。 [MIT]
- Ctrl+C - カスタム関数でCtrl+Cイベントを処理するクロスプラットフォームC++11ライブラリ。 [MIT]
- cxxopts - 軽量なC++コマンドラインオプションパーサー。 [MIT]
- docopt.cpp - docstringからオプションパーサーを生成するライブラリ。 [MIT/Boost]
- FINAL CUT - テキストベースのウィジェットを使ったターミナルアプリケーション作成用ライブラリ。 [LGPL]
- FTXUI - C++の関数型ターミナルユーザーインターフェイス。 [MIT]
- gflags - C++向けコマンドラインフラグモジュール。 [BSD]
- imtui - イミディエートモードのテキストユーザーインターフェイス。 [MIT]
- indicators - モダンC++向けアクティビティインジケーター。 [MIT]
- linenoise - readlineおよびlibeditに代わる、小型の自己完結型ライブラリ。 [BSD-2-Clause]
- linenoise-ng - UTF-8文字を扱える、Linux、Windows、macOS向けの小型でポータブルなGNU readline代替。 [BSD]
- Lyra - C++11以降向けの、シンプルで使いやすく組み合わせ可能なコマンドラインパーサー。 [Boost]
- Ncurses - ターミナルユーザーインターフェイス。 [MIT]
- FINAL CUT - Ncursesに代わる最新のターミナルユーザーインターフェイス。 [LGPLv3+]
- oof - コンソール出力のRGBカラーおよび位置を便利かつ高性能に制御。 [MIT]
- PDCurses - ソースコードとコンパイル済みライブラリの両方を利用できる、パブリックドメインのcursesライブラリ。 [PublicDomain]
- popl - C++11以降向けの、単一ヘッダーのテンプレート式コマンドライン引数およびINIファイルパーサー。 [MIT]
- replxx - UTF-8、構文強調表示、ヒントに対応し、UnixとWindowsで動作するreadline/libedit代替。 [BSD]
- tabulate - モダンC++向けテーブル作成ツール。 [MIT]
- TCLAP - ANSI C++でコマンドライン引数を定義・取得する、成熟し安定した機能豊富なライブラリ。 [MIT]
- termbox - テキストベースのユーザーインターフェイスを作成するCライブラリ。 [MIT]
- TermOx - C++17ターミナルユーザーインターフェイス(TUI)ライブラリ。 [MIT]
- tuibox - コマンドラインでマウス操作可能な対話型アプリケーションを作成できる、単一ヘッダーのターミナルUI(TUI)ライブラリ。 [MIT]
- Ginseng - C++コマンドライン引数パーサー。 [MIT]
圧縮およびアーカイブ用ライブラリ
- bit7z - 7-Zip共有ライブラリに対する、明快でシンプルなインターフェイスを提供するC++静的ライブラリ。 [MPL2]
- Brotli - Googleが開発したBrotli圧縮形式。 [MIT]
- bzip2 - 無料で利用でき、特許フリーの高品質データ圧縮ツール。 [BSD]
- bzip3 - BZip2の、より優れた強力な後継を目指すライブラリ。 [LGPL]
- FastLZ - 小型でポータブルなバイト整列LZ77圧縮。 [MIT]
- FiniteStateEntropy - 次世代のエントロピーコーデック:Finite State EntropyとHuff0。
- FSST - 効率的なランダムアクセス対応文字列圧縮。 [MIT]
- heatshrink - 組み込み/リアルタイムシステム向けデータ圧縮ライブラリ。 [ISC]
- Kanzi - C++で実装された、最新でモジュール式、ポータブルかつ効率的なロスレスデータ圧縮ツール。 [Apache-2.0]
- KArchive - zipやtarなどのファイルアーカイブを作成、読み込み、書き込み、操作するライブラリ。また、QIODeviceのサブクラスを介してgzipなどの形式でデータを透過的に圧縮・展開します。 [LGPL]
- libarchive - 複数形式に対応するアーカイブおよび圧縮ライブラリ。 [New BSD] website
- LZ4 - 非常に高速な圧縮アルゴリズム。 [BSD] website
- LZAV - 高速なメモリ内データ圧縮アルゴリズム。 [MIT]
- LZFSE - LZFSE圧縮ライブラリとコマンドラインツール。Appleが開発。
- LZHAM - LZMAに近い圧縮率を持ち、展開がはるかに高速なロスレスデータ圧縮ライブラリ。 [BSD]
- LZMA :zap: - 7z形式のデフォルトかつ汎用的な圧縮方式。 [PublicDomain] website
- LZMAT - 非常に高速なリアルタイム・ロスレスデータ圧縮ライブラリ。 [GPL]
- miniz - zlib互換APIを持つ、単一CソースファイルのDeflate/Inflate圧縮ライブラリ。ZIPアーカイブの読み書きとPNG書き込みにも対応。 [MIT]
- Minizip - PKWAREディスクスパン、AES暗号化、I/Oバッファリングに対応する、最新のバグ修正を含むZlib。 [zlib]
- minizip-ng - zlibディストリビューションに含まれる一般的なZIP操作ライブラリのフォーク。 [zlib]
- misa77 - 高い圧縮率を維持しながら、驚くほど高速に展開。 [MIT]
- OpenZL - 新しいデータ圧縮フレームワーク。 [BSD] website
- PhysicsFS - さまざまなアーカイブへの抽象化されたアクセスを提供するライブラリ。ビデオゲーム向けに設計され、Quake 3のファイルサブシステムに着想を得ています。 [zlib]
- Rapidgzip - 最新のマルチコアマシン向けGzip展開とランダムアクセス。 [Apache-2/MIT]
- smaz - 短い文字列向け圧縮ライブラリ。 [BSD]
- Snappy - 高速な圧縮/展開ツール。 [BSD]
- ZLib - データストリーム向けの非常にコンパクトな圧縮ライブラリ。 [zlib]
- zlib-ng - 「次世代」システム向けzlib。深刻な最適化を施したドロップイン代替。 [zlib]
- zstd - Facebookが開発した、高速なリアルタイム圧縮アルゴリズムZstandard。 [BSD]
- ZXC - 高性能な非対称ロスレス圧縮。 [BSD-3-Clause]
- ZZIPlib - ZIPアーカイブの読み取りアクセスを提供。 [MPL/LGPL]
- cmix - 速度と引き換えに最高の圧縮率を目指すロスレスデータ圧縮プログラム。 [GPL-3.0]
- LZSSE-SIMDe - LZSSE圧縮のポータブルなSIMD実装。 [BSD-2-Clause]
- Zopfli - 高い圧縮率を実現する一方で低速なdeflate/zlib圧縮ライブラリ。 [Apache-2.0]
並行処理とマルチスレッド
- alpaka - 並列カーネル高速化のための抽象化ライブラリ。 [LGPLv3+]
- ArrayFire - 汎用GPUライブラリ。 [BSD]
- Async++ - Microsoft PPLライブラリおよびN3428 C++標準提案に着想を得た、C++11向け軽量並行処理フレームワーク。 [MIT]
- atomic_queue - 循環バッファとstd::atomicを基盤とする、C++14の複数プロデューサー・複数コンシューマー対応ロックフリーキュー。 [MIT]
- Boost.Compute - OpenCL向けC++ GPUコンピューティングライブラリ。 [Boost] website
- Bolt - GPU向けに最適化されたC++テンプレートライブラリ。 [Apache2]
- BS::thread_pool - 高速、軽量で使いやすいC++17スレッドプールライブラリ。 [MIT]
- Channel - スレッド間でデータを共有するスレッドセーフなコンテナ。 [MIT]
- ck - 並行処理プリミティブ、安全なメモリ回収機構、ノンブロッキングデータ構造。 [BSD]
- concurrentqueue - C++11向けの高速なマルチプロデューサー・マルチコンシューマー対応ロックフリー並行キュー。 [BSD,Boost]
- Coros - コルーチンを利用したタスクベース並列処理向けの、使いやすく高速なライブラリ。 [BSL-1.0]
- CUB - CUDAプログラミングモデルのあらゆる層で再利用可能な最先端ソフトウェアコンポーネントを提供します。 [New BSD]
- cuda-api-wrappers - CUDA GPUプログラミングランタイムAPI向けの軽量なモダンC++ラッパー。 [BSD]
- cupla - Alpakaを通じてOpenMP、Threads、TBBなどでCUDA/C++を実行するC++ API。 [LGPLv3+]
- C++React - C++11向けリアクティブプログラミングライブラリ。 [Boost]
- dispenso - スレッドプール、並列forループ、future、タスクグラフ、並行コンテナを備えた高性能C++並列プログラミングライブラリ。 [MIT]
- FiberTaskingLib - 任意の依存関係を持つタスクグラフをサポートする、タスクベースのマルチスレッドライブラリ。 [Apache]
- HPX - あらゆる規模の並列・分散アプリケーション向け汎用C++ランタイムシステム。 [Boost]
- Intel Games Task Scheduler - ゲーム開発者のニーズに合わせて設計されたタスクスケジューリングフレームワーク。 [MIT]
- Intel Parallel STL - C++11以降向けIntel® C++17 STL実装。 [Apache2]
- Intel TBB - Intel® Threading Building Blocks。 [Apache2]
- junction - C++の並行データ構造ライブラリ。 [BSD]
- Kokkos - 並列実行とメモリ抽象化のための、性能移植性に優れたプログラミングモデル。 [BSD]
- libcds - C++の並行データ構造ライブラリ。 [BSD]
- Libclsph - OpenCLベースのGPUアクセラレーション対応SPH流体シミュレーションライブラリ。 [MIT]
- libdill - Cで構造化並行性を導入。 [MIT]
- libdispatch - Apple Inc.が開発したGrand Central Dispatch(GCD)は、スレッドプールパターンに基づくタスク並列化技術です。libdispatchはGCDのサービスを実装するライブラリです。 [Apache-2.0] website
- libfork - C++20のコルーチンを基盤とする、最先端のロックフリー・ウェイトフリーな継続スティーリング型タスクライブラリ。 [MPL-2.0] website
- libmill - CでGoスタイルの並行処理を導入。 [MIT]
- marl - C++11で記述された、スレッドとファイバーを組み合わせたタスクスケジューラー。 [Apache-2.0]
- moderngpu - GPUの汎用計算向け生産性ライブラリ。CUDA向けに記述されたヘッダーオンリーC++ライブラリで、特長は不規則な並列問題を解決する高速プリミティブです。 [FreeBSD & Copyright, Sean Baxter]
- NCCL - マルチGPU集合通信向けに最適化されたプリミティブ。 [BSD]
- Neco - C製の並行処理ライブラリ(コルーチン)。 [MIT]
- OpenCL - 異種システムの並列プログラミング向けオープン標準。
- OpenMP - OpenMP API。
- rotor - イベントループと親和性の高いC++アクターマイクロフレームワーク。 [MIT]
- SObjectizer - 比較的小規模なC++フレームワークでActor、Publish-Subscribe、CSPモデルを実装。 [BSD-3-Clause]
- Quantum - Boost.Coroutine2を基盤とする強力なC++コルーチンディスパッチャーフレームワーク。
- RaftLib - C++のiostream風演算子を使ったストリーミング/データフロー並行処理を提供するRaftLib C++ライブラリ。 [Apache2]
- readerwriterqueue - C++向けの高速なシングルプロデューサー・シングルコンシューマー対応ロックフリーキュー。 [BSD]
- stdgpu - GPU上で効率的なSTL風データ構造。 [Apache2]
- Taskflow - 汎用の並列・異種タスクプログラミングシステム。 [MIT]
- ThreadPool - シンプルなC++11スレッドプール実装。 [zlib]
- Thrust - C++標準テンプレートライブラリ(STL)に似た並列アルゴリズムライブラリ。 [Apache2]
- TooManyCooks - 高度なハードウェア検出機能を備えた高性能C++20コルーチンフレームワーク。 [BSL-1.0]
- transwarp - タスク並行処理向けのヘッダーオンリーC++ライブラリ。 [MIT]
- VexCL - OpenCL/CUDA向けC++ベクトル式テンプレートライブラリ。 [MIT]
- STAPL - 共有メモリと分散メモリの両方を使う並列計算機で動作するよう設計されたC++並列プログラミングフレームワーク。 [BSD]
- concurrencpp - タスク、エグゼキューター、タイマー、C++20コルーチンを備えた汎用並行処理ライブラリ。
- libcu++ - 異種実装によるC++標準ライブラリ機能を提供するNVIDIA C++標準ライブラリ。 [Apache-2.0]
- nvthreads - C/C++で効率的かつ永続的なスレッド処理を可能にするライブラリ。 [LGPL-2.1]
設定ファイル、INIファイル
- inifile-cpp - ヘッダーオンリーで使いやすいC++用INIファイルパーサー。 [MIT]
- inih - 組み込みシステムに適した、シンプルなC製.INIファイルパーサー。 [BSD-3-Clause]
- inih - inihのシングルヘッダーC++版。 [BSD-3-Clause]
- ini-cpp - 便利な読み書きインターフェイスを備えたinih派生のシングルヘッダーC++版。 [BSD-3-Clause] website
- iniparser - INIファイルパーサー。 [MIT]
- inipp - シンプルなヘッダーオンリーC++ INIパーサー兼ジェネレーター。 [MIT]
- libconfig - 構造化設定ファイルを処理するC/C++ライブラリ。 [LGPL-2.1] website
- libconfuse - C向けの小型設定ファイルパーサーライブラリ。 [ISC]
- mINI - INIファイルの読み込みと書き込み。 [MIT]
- simpleini - INI形式の設定ファイルを読み書きするシンプルなAPIを提供するクロスプラットフォームC++ライブラリ。 [MIT]
- toml++ - C++17以降向けのヘッダーオンリーTOMLパーサーおよびシリアライザー。 [MIT] website
- toml11 - C++標準ライブラリのみに依存するC++11以降向けヘッダーオンリーTOMLパーサー/エンコーダー。 [MIT]
- CRoaring - SIMD最適化を備えたC/C++のRoaringビットマップ。 [Apache-2.0]
- dynamic_bitset - シンプルで便利なライブラリ:C++17/20のヘッダーオンリー動的ビットセット。 [MIT] website
- fixed-containers - 固定容量のconstexprコンテナを提供するヘッダーオンリーC++20ライブラリ。 [MIT]
- flat_hash_map - フィボナッチハッシュを使う非常に高速なフラットハッシュテーブル。
- frozen - C++14向けの、gperfに代わるヘッダーオンリーconstexpr実装。 [Apache-2.0]
- Hashmaps - C++でのオープンアドレス法ハッシュテーブルアルゴリズムの実装。 [MIT]
- hat-trie - 高速でメモリ効率に優れたHAT-trieのC++実装。 [MIT]
- Hopscotch map - 衝突解決にホップスコッチハッシュ法を使う高速なヘッダーオンリーハッシュマップ。 [MIT]
- librb - 完全なスレッド対応を備え、並行読み書きができ、必要に応じて自動拡張するリング(循環)バッファのC実装。 [BSD] website
- LSHBOX - 一般的なLSHアルゴリズムを複数提供し、PythonとMATLABにも対応する局所性鋭敏型ハッシュ(LSH)のC++ツールボックス。 [GPL]
- marisa-trie - 再帰的に実装されたストレージを用いる照合アルゴリズム。 [BSD-2-Clause/LGPL-2.1]
- parallel-hashmap - 非常に高速でメモリ効率に優れたヘッダーオンリーのハッシュマップとBツリーコンテナ群。 [Apache2] website
- PGM-index - 従来のインデックスより桁違いに少ない容量で、数十億項目の配列の高速検索、直前要素検索、範囲検索、更新を可能にするデータ構造。 [Apache2] website
- plf::colony - 変更頻度が高い状況でstdコンテナを上回り、挿入・削除にかかわらず未削除要素へのポインターを維持する、順序なしの「バッグ」型コンテナ。 [zLib] website
- plf::list - 範囲スプライシングをなくしてキャッシュ効率の高い構造を実現し、大幅な性能向上をもたらすstd::list実装。 [zLib] website
- plf::stack - std::stackコンテナアダプターの代替で、スタック用途ではあらゆるstdコンテナより高性能。 [zLib] website
- ring_span lite - Arthur O’Dwyerのring_span実装、すなわち循環バッファビューを簡略化した実装。 [MIT]
- robin-hood-hashing - C++14向けの、ロビンフッドハッシュ法を用いた高速でメモリ効率のよいハッシュテーブル。 [MIT]
- robin-map - ロビンフッドハッシュ法を使用する高速ハッシュマップおよびハッシュセット。 [MIT]
- sparsepp - C++向けの高速でメモリ効率に優れたハッシュマップ。 [BSD 3-clause]
- sqlitemap - SQLiteをバックエンドとする永続マップ。 [MIT]
- st_tree - 高速で柔軟なC++ツリーデータ構造用テンプレートクラス。 [Apache-2.0]
- svector - C++17以降向けの、SVO最適化されたコンパクトなvector。 [MIT]
- tree.hh - STL風のヘッダーオンリーC++ツリーライブラリ。 [GPL2+]
- unordered_dense - ロビンフッド方式の後方シフト削除に基づく、高速で高密度格納のハッシュマップおよびハッシュセット。 [MIT]
- fifo_map - FIFO順序のC++連想コンテナ。 [MIT]
- ordered-map - 挿入順序を保持するC++ハッシュマップおよびハッシュセット。 [MIT]
暗号技術および暗号化ライブラリ
- Bcrypt - クロスプラットフォームのファイル暗号化ユーティリティ。暗号化ファイルは、対応するすべてのOSとプロセッサ間で移植可能です。 [BSD]
- BeeCrypt - ポータブルで高速な暗号ライブラリ。 [LGPLv2.1+]
- BoringSSL - Googleのニーズに応えるために設計されたOpenSSLのフォーク。 [Apache2]
- Botan - C++向け暗号ライブラリ。 [BSD-2]
- Crypto++ - 暗号方式を実装する無料のC++クラスライブラリ。 [Boost] website
- digestpp - C++11のヘッダーオンリー・メッセージダイジェスト(ハッシュ)ライブラリ。 [PublicDomain]
- GnuPG - OpenPGP標準の完全かつ無料の実装。 [GPL]
- GnuTLS - SSL、TLS、DTLSプロトコルを実装した安全な通信ライブラリ。 [LGPL2.1]
- Libgcrypt - もともとGnuPGのコードを基にした汎用暗号ライブラリ。 [LGPLv2.1+]
- LibreSSL - 2014年にOpenSSLからフォークされた、SSL/TLSプロトコルの無料実装。 [?]
- libsodium - NaClベースのポータブル/パッケージ可能な暗号ライブラリ。明確な方針を持ち、使いやすい設計。 [ISC]
- libhydrogen - 制約のある環境に適した、軽量で安全かつ使いやすい暗号ライブラリ。 [ISC]
- LibTomCrypt - かなり包括的でモジュール式、ポータブルな暗号ツールキット。 [WTFPL]
- mbedTLS - 以前はPolarSSLとして知られていた、オープンソースでポータブル、使いやすく、読みやすく柔軟なSSLライブラリ。 [Apache2] website
- Nettle - 低レベル暗号ライブラリ。 [LGPL]
- OpenSSL - 堅牢で商用レベルの機能を完全に備えたオープンソース暗号ライブラリ。 [Apache] website
- retter - 暗号技術に関連するハッシュ関数、暗号、ツール、ライブラリ、資料のコレクション。
- s2n - TLS/SSLプロトコルの実装。 [Apache]
- sha1collisiondetection - ファイル内のSHA-1衝突を検出するライブラリおよびコマンドラインツール。 [MIT]
- stduuid - クロスプラットフォーム対応のC++17 UUID実装。 [MIT]
- Tink - 安全で正しく使いやすく、誤用しにくい暗号APIを提供する多言語・クロスプラットフォームライブラリ。 [Apache-2.0]
- Tiny AES in C - Cによる小型でポータブルなAES128/192/256実装。 [PublicDomain]
- tiny-ECDH-c - CによるECDH鍵共有プロトコルの小型でポータブルな実装。 [PublicDomain]
- Themis - モバイルおよびサーバープラットフォーム向けに、共通鍵・公開鍵暗号化と前方秘匿性を備えたセキュアソケットを提供し、データ保護を容易にする暗号ライブラリ。 [Apache2]
- HEhub - 準同型暗号とその応用のためのライブラリ。 [Apache2]
- Qt-Secret - C++プロジェクト向けQtベースのシンプルな暗号化ライブラリ。 [LGPL]
- micro-ecc - 8、32、64ビットプロセッサ向けの小型で高速なECDHおよびECDSA実装。 [BSD-2-Clause]
- crypto-algorithms - AES、SHAなど、標準暗号アルゴリズムの基本的なC実装。 [PublicDomain]
- aes-stream - C向けの高速なAESベースストリーム暗号。 [ISC]
カンマ区切り値(CSV)ファイルを解析するライブラリ
- commata - C++17向けの、もうひとつのヘッダーオンリーCSVパーサー。 [Unlicense]
- csv2 - モダンC++向けの高速CSVパーサー。 [MIT]
- Csv::Parser - コンパイル時と実行時に対応するC++17製CSVパーサー。 [Zlib]
- Fast C++ CSV Parser - CSVファイルを読み込む小型で使いやすく高速なヘッダーオンリーライブラリ。 [BSD-3-Clause]
- Glaze - リフレクションに対応した高性能ヘッダーオンリーCSVライブラリ。 [MIT]
- lazycsv - モダンC++向けの高速で軽量なシングルヘッダーCSVパーサー。 [MIT]
- rapidcsv - 使いやすいヘッダーオンリーC++ CSVパーサーライブラリ。 [BSD-3-Clause]
- ssp - 高速で多用途、モダンC++ APIを備えたヘッダーオンリーの「CSV」パーサー。 [MIT]
- Vince’s CSV Parser - オプションの型変換と統計機能を備えた、高速で自己完結型のストリーミングC++17 CSVパーサー。 [MIT]
- zsv - 拡張可能なCLIを備えた世界最速(SIMD)のCSVパーサー。 [MIT]
データベース
Section titled “データベース”データベースライブラリ、SQLサーバー、ODBCドライバーおよびツール
- ClickHouse - ClickHouse DBMS向けC++クライアント。 [Apache2]
- CrossDB - 超高性能で軽量な組み込み型およびサーバー型OLTPリレーショナルDBMS。 [MPL-2.0] website
- Doltlite - バージョン管理機能付きSQLite。 [PublicDomain/Apache2]
- DuckDB - プロセス内で動作するSQL OLAPデータベース管理システム。 [MIT] website
- hiberlite - sqlite3向けC++オブジェクトリレーショナルマッピング。 [BSD]
- Hiredis - Redisデータベース向けの最小限のCクライアントライブラリ。 [BSD]
- Infinity - LLMアプリケーション向けに構築されたAIネイティブデータベース。非常に高速なベクトル検索と全文検索を提供。 [Apache2]
- Kuzu - クエリ速度と拡張性を重視して構築された、組み込み可能なプロパティグラフDBMS。Cypherを実装。 [MIT]
- Kvrocks - RocksDBをストレージエンジンとして使用し、Redisプロトコルと互換性のある分散キー・バリューNoSQLデータベース。 [Apache2]
- Ladybug - クエリ速度と拡張性を重視して構築された組み込み型グラフデータベース。 [MIT] website
- LevelDB - Googleで開発された高速なキー・バリューストレージライブラリ。文字列キーから文字列値への順序付きマッピングを提供。 [BSD]
- libpg_query - サーバー環境外からPostgreSQLパーサーにアクセスするためのCライブラリ。 [BSD-3-Clause]
- libpqxx - PostgreSQLの公式C++クライアントAPI。 [BSD-3-Clause]
- LMDB - 完全なACID特性を備えた、非常に高速な組み込み型キー・バリューストア。 [OpenLDAP]
- LMDB++ - LMDB組み込みデータベースライブラリのC++11ラッパー。 [PublicDomain]
- mgclient - C/C++向けMemgraphクライアント。 [Apache2]
- 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++ラッパー。 [MIT]
- ODB - C++向けのオープンソース、クロスプラットフォーム、クロスデータベース対応オブジェクトリレーショナルマッピング(ORM)システム。 [GPLv2]
- redis3m - センチネルとすぐに使えるパターンに対応した、明快なC++インターフェイスを持つhiredisラッパー。 [Apache2]
- Reindexer - 高水準のクエリビルダーインターフェイスを備えた、組み込み可能なインメモリ文書指向データベース。 [Apache2] website
- RocksDB - Facebook製の高速ストレージ向け組み込みキー・バリューストア。 [BSD]
- SimDB - 高性能、共有メモリ、ロックフリー、クロスプラットフォーム、単一ファイル、最小限の依存関係を特徴とするC++11キー・バリューストア。 [Apache2]
- SlothDB - ノートPC、サーバー、ブラウザーのどこでも動作する組み込みSQLデータベース。 [MIT] website
- SOCI - C++向けデータベース抽象化レイヤー。 [Boost]
- Speedb - RocksDB互換の、高性能でスケーラブルな組み込みキー・バリューストアを目指すコミュニティ主導プロジェクト。 [Apache2]
- sqlgen - PythonのSQLAlchemy/SQLModelやRustのDieselに似た、リフレクションベースのC++20 ORMおよびSQLクエリー生成器。 [MIT]
- SQLite - わずか数百KBでプロジェクトに直接組み込める、機能豊富な完全組み込み型リレーショナルデータベース。 [PublicDomain]
- SQLiteC++ - 使いやすいC++ SQLite3ラッパー。 [MIT]
- sqlite_modern_cpp - SQLiteライブラリ向けヘッダーオンリーC++14ラッパー。 [MIT]
- sqlite_orm - モダンC++向けの軽量なヘッダーオンリーSQLite ORMライブラリ。 [AGPL + paid MIT]
- sqlpp11 - C++でSQLクエリーと結果を扱うための型安全な組み込みDSL。 [BSD-2-Clause]
- sqlpp23 - C++向け型安全SQLライブラリ。 [BSD-2-Clause]
- TidesDB - フラッシュメモリとRAMの最適化を目的として設計された、高性能で耐久性のあるトランザクション対応組み込みストレージエンジン。 [MPL-2.0] website
- TileDB - 高速な密/疎多次元配列DBMS。 [MIT] website
- TinyORM - モダンC++ ORMライブラリ。 [MIT] website
- UnQLite - 自己完結型、サーバーレス、設定不要でトランザクションに対応したNoSQLエンジン。 [BSD-2-Clause] website
- upscaledb - 組み込み型の「型付き」キー・バリューストア。クエリーインターフェイスを内蔵。 [GPLv3]
- TigerBeetleDB C++ client (Community) - TigerBeetleは、将来の金融サービスを支えるミッションクリティカルな安全性と性能を実現するための財務会計データベースです。 [BSL-1.0]
- Trilogy - 性能、柔軟性、組み込みやすさを重視して設計された、MySQL互換データベースサーバー向けクライアントライブラリ。 [MIT]
- UStore - BLOB、JSON、グラフ向けのマルチモーダルデータベース。 [Apache2]
- Velox - クエリエンジンとデータ処理システムの最適化を目的とした、C++ベクトル化データベース高速化ライブラリ。 [Apache-2.0] website
- Zvec - 軽量で非常に高速なプロセス内ベクトルデータベース。 [Apache2] website
- constexpr-sql - C++17のコンパイル時SQLクエリーパーサー兼実行器。 [MIT]
- NuDB - SSD向けの高速な追記専用キー・バリューストア。 [Boost]
データ可視化
Section titled “データ可視化”データ可視化ライブラリ
- gplot++ - Gnuplotと連携するクロスプラットフォームのヘッダーオンリーC++プロットライブラリ。 [MIT]
- matplotplusplus - データ可視化向けC++グラフィックスライブラリ。 [MIT] website
- mathplot - モダンOpenGLを使う、ヘッダーオンリーのC++グラフ作成・データ可視化ライブラリ。 [Apache-2.0] website
- Plotly++ - 対話型データ可視化を作成するための、Plotly.js figure spec向けC++インターフェイス。 [MIT]
- matplotlib-cpp - Pythonのmatplotlibプロットライブラリ向けC++ラッパー。 [MIT]
デバッグライブラリ、メモリ/リソースリーク検出、単体テスト
- Attest - パラメーター化され、ライフサイクルを考慮したテストとアサーション、および即時フォーマットメッセージに対応する、クロスプラットフォームでヒープを使わないCテストフレームワーク。 [MIT]
- backward-cpp - C++向けの美しいスタックトレース整形表示ツール。 [MIT]
- Bencher - CIで性能の後退を検出するために設計された、継続的ベンチマークツール群。
- benchmark - Googleが提供する小型マイクロベンチマーク支援ライブラリ。 [Apache2]
- Boost.Test - Boostテストライブラリ。 [Boost] website
- check - C向け単体テストフレームワーク。 [LGPL-2.1] website
- doctest - 最軽量でありながら機能豊富なC++シングルヘッダーテストフレームワーク。 [MIT]
- Catch2 - 単体テスト、TDD、BDD向けのモダンなC++ネイティブテストフレームワーク。 [Boost]
- Celero - C++ベンチマークフレームワーク。 [Apache2]
- cpp-dump - ユーザー定義型を含むあらゆる変数を出力できる、デバッグ用C++ライブラリ。 [MIT]
- CppUTest - C/C++向け単体テストおよびモックフレームワーク。 [BSD-3-clause]
- CUTE - C++単体テストをより簡単に。 [LGPL3]
- CMocka - モックオブジェクトに対応するC単体テストフレームワーク。 [Apache2]
- CppBenchmark - ナノ秒単位の計測精度を備えたC++性能ベンチマークフレームワーク。 [MIT]
- Cpptrace - C++11以降に対応した、シンプルでポータブルな自己完結型C++スタックトレースライブラリ。 [MIT]
- CppUnit - JUnitのC++移植版。 [LGPL2]
- CrashCatch - スタックトレースを記録し、
.dmpおよび.txt形式のクラッシュダンプを作成するC++シングルヘッダーのクラッシュレポート機能。 [MIT] website - CTest - CMakeのテストドライバープログラム。 [BSD]
- dbg-macro - C++向けdbg(…)マクロ。 [MIT]
- DebugViewPP - デバッグログビューアー。 [Boost]
- Deleaker - メモリ、GDI、ハンドルのリークなどを検出するリソースリーク検出ツール。
- FakeIt - C++向けのシンプルなモックフレームワーク。 [MIT]
- fff - 偽のC関数を作成するマイクロフレームワーク。 [MIT]
- Google Mock - C++のモッククラスを作成して使うためのライブラリ。 [BSD]
- Google Test - Google C++テストフレームワーク。 [BSD]
- Hippomocks - シングルヘッダーのモックフレームワーク。 [LGPL-2.1]
- IceCream-Cpp - デバッグにcoutやprintfを使う必要はもうありません。 [MIT]
- ig-debugheap - メモリエラーの追跡に役立つマルチプラットフォームのデバッグヒープ。 [BSD]
- libassert - 過剰なまでに作り込まれたC++アサーションライブラリ。 [MIT]
- libtap - Cでテストを記述。 [GPL2]
- microprofile - 複数プラットフォーム向けWebビュー付きプロファイラー。 [Unlicense]
- MinUnit - 単一ヘッダーファイルに自己完結した、C向け最小限の単体テストフレームワーク。 [MIT]
- nanobench - C++11/14/17/20向けの、シンプルで高速かつ正確なシングルヘッダー・マイクロベンチマーク機能。 [MIT] website
- Nanotimer - ベンチマーク用のシンプルでオーバーヘッドの小さいクロスプラットフォームタイマークラス。 [zLib] website
- Nonius - C++マイクロベンチマークフレームワーク。 [CC]
- Remotery - Webビューアー付きの単一Cファイルプロファイラー。 [Apache2]
- snitch - 軽量なC++20テストフレームワーク。 [Boost]
- Touca - セルフホスト可能なオープンソース回帰テストシステム。 [Apache2] website
- UnitTest++ - C++向け軽量単体テストフレームワーク。 [MIT/X Consortium license]
- Unity - C向けのシンプルな単体テスト。 [MIT]
- utest.h - CおよびC++向けシングルヘッダー単体テストフレームワーク。 [Unlicense]
- utl::profiler - C++17向けシングルヘッダープロファイラー。 [MIT]
- μt - C++20のシングルヘッダー/シングルモジュールで、マクロを使わないμ(マイクロ)/単体テストフレームワーク。 [Boost]
- VLD - Visual Leak Detector。Visual C++向けの無料で堅牢なオープンソースメモリリーク検出システム。
- heaptrack - Linux向けヒープメモリプロファイラー。 [LGPL-2.1]
ドキュメント
Section titled “ドキュメント”- Doxide - YAMLで設定し、Markdownを出力する、モダンC++向けの最新ドキュメント生成ツール。 [Apache 2.0] website
- doxygen :zap: - 注釈付きC++ソースからドキュメントを生成する事実上の標準ツール。 [GPL2] website
- doxyrest - Doxygen XMLをSphinx用reStructuredTextに変換するコンパイラー。 [MIT]
- hdoc - C++向けのモダンなドキュメントツール。 [AGPL/Proprietary] website
- Natural Docs - 複数のプログラミング言語に対応したオープンソースのドキュメント生成ツール。 [AGPL/Proprietary] website
- Sourcey - Doxygen XMLとOpenAPI、godoc、MCP、Markdownを取り込む静的ドキュメント生成ツール。 [AGPL-3.0] website
- Sphinx - 分かりやすく美しいドキュメントを簡単に作成できます。 [BSD-2-Clause] website
デジタル信号処理。
- DSPFilters - デジタル信号処理向けの便利なC++クラス集。 [MIT]
- fCWT - 高速連続ウェーブレット変換(fCWT)は、CWTを高速計算するライブラリです。 [Apache-2.0]
- FFTW - 1次元または多次元の離散フーリエ変換(DFT)を計算するCライブラリ。 [GPL]
- iir1 - リアルタイムIIR C++フィルターライブラリ。 [MIT]
- kissfft - シンプルさを最優先した高速フーリエ変換(FFT)ライブラリ。 [BSD-3-Clause]
- pocketfft - FFTPackを基盤とし、いくつかの改良を加えたFFT実装。 [BSD-3-Clause]
- wavelib - 1次元および2次元ウェーブレット変換のC実装。 [BSD-3-Clause]
フォントファイルを解析・操作するライブラリ。
- Fontconfig - フォント設定およびカスタマイズライブラリ。 [MIT] website
- FreeType - FreeTypeは、フォントを描画するために自由に利用できるソフトウェアライブラリです。 [FTL & GPLv2]
- otfcc - OpenTypeフォントファイルを解析・書き込むためのCライブラリおよびユーティリティ。 [Apache-2.0]
- harfbuzz - テキストシェーピングエンジン。 [Old MIT]
- libschrift - 軽量なTrueTypeフォントレンダリングライブラリ。 [ISC]
- SheenBidi - Unicode双方向アルゴリズムの高度な実装。 [Apache-2.0]
ゲームエンジン
Section titled “ゲームエンジン”- Acid - 高速なC++17 Vulkanゲームエンジン。 [MIT]
- Allegro - 主にビデオゲームおよびマルチメディアプログラミング向けのクロスプラットフォームライブラリ。 [zlib]
- Axmol Engine - Cocos2d-x-4.0から派生した、デスクトップ、モバイル、XBOX(UWP)向けクロスプラットフォームゲームエンジン。 [MIT] website
- Cocos2d-x - 2Dゲーム、インタラクティブブック、デモ、その他のグラフィカルアプリケーションを構築するマルチプラットフォームフレームワーク。 [MIT]
- Corange - 純粋なC、SDL、OpenGLで記述されたゲームエンジン。 [BSD]
- crown - 一般用途のデータ駆動型ゲームエンジン。最初から正統的なC++で記述され、ミニマルでデータ指向の設計思想を備えています。 [MIT]
- delta3d - 堅牢なシミュレーションプラットフォーム。 [LGPL2]
- EnTT - ゲームとモダンC++の融合。 [MIT]
- GamePlay - 2D/3Dモバイル・デスクトップゲームを作成するクロスプラットフォームのネイティブC++ゲームフレームワーク。 [Apache2]
- Godot - 機能を完全に備えたオープンソースのMITライセンスゲームエンジン。 [MIT]
- Grit - オープンワールド3Dゲームを実装する無料ゲームエンジンを構築するコミュニティプロジェクト。 [MIT]
- Halley - 「真の」エンティティ・コンポーネント・システムを備えた、C++14製の軽量ゲームエンジン。 [Apache 2.0]
- Hazel Game Engine - Hazelは、主にWindows向けの開発初期段階にある対話型アプリケーションおよびレンダリングエンジンです。 [Apache-2.0 license]
- IX-Ray Platform - ゲーム体験の向上とMOD開発の簡略化を目指すX-Ray 1.6エンジンのフォーク。 [Modified MIT/non-commercial only]
- JNGL - Linux、Windows、macOS、Android、iOS、Xbox、Nintendo Switch、Web向け2Dライブラリ。 [zlib] website
- KlayGE - プラグインベースのアーキテクチャを持つクロスプラットフォームのオープンソースゲームエンジン。 [GPLv2] website
- nCine - C++11で記述され、必要に応じてLuaでスクリプト化できる、性能重視のクロスプラットフォーム2Dゲームエンジン。 [MIT] website
- o3de - Amazon Lumberyardを基盤とするオープンソース、リアルタイム、マルチプラットフォーム対応の3Dエンジン。 [Apache2] website
- OpenXRay - S.T.A.L.K.E.R.シリーズで使用される、コミュニティ改変版X-Rayエンジン。 [Modified BSD/non-commercial only]
- Oxygine - クロスプラットフォームの2D C++ゲームエンジン。 [MIT]
- Panda3D - PythonおよびC++プログラム向けの、3Dレンダリングとゲーム開発のフレームワーク兼ゲームエンジン。 [Modified BSD] website
- PixelGameEngine - javidx9のYouTube動画やプロジェクトで使用されるolcPixelGameEngineの公式配布版。 [OLC3]
- Polycode - Luaバインディングを備えた、C++クリエイティブコーディング向けクロスプラットフォームフレームワーク。 [MIT]
- quakeforge - 20年以上にわたって開発が続く、オリジナルQuakeエンジンコードの積極的に保守されているブランチ。 [GPL-2.0]
- raylib - ビデオゲームプログラミングを楽しむための、シンプルで使いやすいライブラリ。 [zlib/libpng] website
- Spring - 強力で無料、クロスプラットフォームのRTSゲームエンジン。 [GPLv2/GPLv3] website
- Torque2D - 2Dゲーム開発向けに構築された、オープンソースでクロスプラットフォームのC++エンジン。 [MIT] website
- Torque3D - 3Dゲーム開発向けに構築されたオープンソースC++エンジン。 [MIT] website
- toy engine - 完全な2Dまたは3Dゲームを迅速に反復設計できる、シンプルで表現力豊かなC++イディオムを備えた、薄くモジュール式のC++ゲームエンジン。
- Urho3D - OGREとHorde3Dに大きな影響を受けた、C++製の無料で軽量なクロスプラットフォーム2D/3Dゲームエンジン。 [MIT]
- Zodiac Engine - Vulkanを使ったC++20製のオープンソース・クロスプラットフォーム3Dレンダリングエンジン兼エディター(ZEngine)。 [MIT]
- ezEngine - モジュール式で柔軟な設計思想を持ち、多様な用途に適応できるC++製の無料オープンソースゲームエンジン。 [MIT] website
- CXXGraph - 表現とアルゴリズム実行に使える、無料のC++17ヘッダーオンリーグラフライブラリ。 [AGPL-3.0]
- Graaf - 汎用の軽量C++20グラフライブラリ。 [MIT] website
グラフィカルユーザーインターフェイス
- Boden - ネイティブのモバイル向けクロスプラットフォームGUIフレームワーク。 [GPL/LGPL/Proprietary] website
- Brisk - MVVMとリアクティブ機能を備えたクロスプラットフォームC++20 GUIフレームワーク。拡張可能でGPUアクセラレーションによるレンダリングに対応。 [GPL/Proprietary] website
- CEGUI - 柔軟なクロスプラットフォームGUIライブラリ。
- Elements - 軽量で細粒度、解像度非依存かつモジュール式のGUIライブラリ。 [MIT]
- FLTK - 高速で軽量なクロスプラットフォームC++ GUIツールキット。 [LGPL2]
- FOX Toolkit - オープンソースのクロスプラットフォーム・ウィジェットツールキット。 [LGPL]
- GacUI - WYSIWYG開発ツール、XML対応、組み込みデータバインディングとMVVM機能を備えた、GPUアクセラレーション対応C++ユーザーインターフェイス。 [Ms-PL]
- GTK+ - グラフィカルユーザーインターフェイスを作成するマルチプラットフォームツールキット。 [LGPL]
- gtkmm - 人気のGUIライブラリGTK+向け公式C++インターフェイス。 [LGPL]
- imgui - 最小限の依存関係を持つイミディエートモード・グラフィカルユーザーインターフェイス。 [MIT]
- implot - imgui向けイミディエートモード・プロットウィジェット。 [MIT]
- iup - グラフィカルユーザーインターフェイスを構築するマルチプラットフォームツールキット。 [MIT]
- libui - 対応する各プラットフォームのネイティブGUI技術を利用する、シンプルでポータブル(ただし柔軟性もある)なC製GUIライブラリ。 [MIT]
- MyGUI - 高速で柔軟、シンプルなGUI。 [MIT]
- nana - モダンC++スタイルのGUIプログラミング向けクロスプラットフォームライブラリ。 [Boost]
- NanoGui - OpenGL 3.x以降向けの最小限のクロスプラットフォーム・ウィジェットライブラリ。 [BSD]
- NAppGUI - ANSI Cでクロスプラットフォームのデスクトップアプリを構築するSDK。 [MIT] website
- nuklear - 単一ヘッダーのANSI C GUIライブラリ。 [PublicDomain]
- QCustomPlot - 追加依存関係のないQtプロットウィジェット。 [GPLv3]
- Qwt - 技術系アプリケーション向けQtウィジェット。 [Own based on LGPL]
- QwtPlot3D - 豊富な機能を備えたQt/OpenGLベースのC++プログラミングライブラリ。主に多数の3Dウィジェットを提供します。 [zlib]
- RmlUi - 進化したHTML/CSSユーザーインターフェイスライブラリ。libRocketのフォーク。 [MIT]
- Saucer - モダンなクロスプラットフォームC++ WebViewライブラリ。 [MIT]
- Sciter - モダンなデスクトップアプリケーションのUIレイヤーとして使うことを目的とした、組み込み可能なHTML/CSS/スクリプトエンジン。 [Free/Commercial]
- Slint - デスクトップおよび組み込み向けの軽量GUIツールキット。 [GPL/Free/Proprietary] website
- TGUI - クロスプラットフォーム対応のモダンC++ GUI。 [Zlib] website
- WebUI - 好みのバックエンド言語とフロントエンドのHTML5を使い、あらゆるWebブラウザーをGUIとして利用。 [MIT] website
- wxCharts - wxWidgetsアプリケーションでチャートを作成するライブラリ。 [MIT] website
- wxWidgets - 単一のコードベースでWindows、Mac OS X、Linuxなどのプラットフォーム向けアプリケーションを作成できるC++ライブラリ。 [Own LGPL]
- Yue - ネイティブのクロスプラットフォームGUIアプリを作成するライブラリ。 [LGPLv2]
- GuiLite - 全プラットフォーム向け最小のヘッダーオンリーGUIライブラリ(5 KLOC)。 [Apache-2.0]
- LCUI - C、XML、CSSでユーザーインターフェイスを構築する小型Cライブラリ。 [MIT]
グラフィックス
Section titled “グラフィックス”- assimp - さまざまな3Dアセットファイル形式に共通APIを提供することを目指す、クロスプラットフォーム3DモデルインポートライブラリOpen Asset Import Library(assimp)。 [BSD-3-Clause] website
- bgfx - クロスプラットフォームのレンダリングライブラリ。 [BSD]
- Blend2D - JITコンパイラーを利用する2Dベクターグラフィックスエンジン。 [Zlib] website
- Cairo - 複数の出力デバイスをサポートする2Dグラフィックスライブラリ。 [LGPL2 or Mozilla MPL]
- C-Turtle - CImgラッパーとして動作するC++11ヘッダーオンリーのタートルグラフィックスライブラリ。 [MIT]
- Diligent Engine - モダンなクロスプラットフォーム低レベル3Dグラフィックスライブラリ。 [Apache2]
- DirectXTK - C++でDirectX 11.xコードを記述するためのヘルパークラス集。 [MIT]
- GLFW - シンプルなクロスプラットフォームOpenGL管理ライブラリ。 [zlib/libpng]
- GLFWPP - GLFW向けの薄いモダンC++17ヘッダーオンリーラッパー。 [MIT] 3D可視化ライブラリ。C++、Python、Lua、Goから利用可能。BGFXを基盤としています。]
- Harfang 3D 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Proprietary] website
- herebedragons - さまざまなエンジン、フレームワーク、APIを使って実装した基本的な3Dシーン。 [MIT] website
- Horde3D - 小型の3Dレンダリングおよびアニメーションエンジン。 [EPL]
- Ion - 3Dグラフィックスを使用するクロスプラットフォームのクライアント/サーバーアプリケーションを構築するための、小型で効率的なライブラリ群。 [Apache2] website
- Irrlicht - C++で記述された高性能リアルタイム3Dエンジン。 [zlib]
- libigl - シンプルなC++ジオメトリ処理ライブラリ。 [MPL2]
- LLGL - モダンなグラフィックスAPI向けの薄い抽象化レイヤーであるLow Level Graphics Library(LLGL)。 [BSD-3-Clause]
- LunaSVG - スタンドアロンのC++ SVGレンダリングライブラリ。 [MIT]
- magnum - ゲームやデータ可視化向けの軽量でモジュール式なC++11/C++14グラフィックスミドルウェア。 [MIT] website
- MESHLIB - 3Dデータ処理の効率を大幅に高めるSDK。 [Free/Commercial] website
- micro-gl - リアルタイムで組み込み可能なヘッダーオンリーC++11 CPUベクターグラフィックス。標準ライブラリ、FPU、GPUは不要。 [CUSTOM] website
- NanoVG - UIおよび可視化向けの、OpenGL上で動作するアンチエイリアス対応2Dベクター描画ライブラリ。 [Zlib]
- Ogre 3D :zap: - ゲームエンジンではなく、シーン指向でリアルタイムかつ柔軟なC++製3Dレンダリングエンジン。 [MIT] website
- OpenSceneGraph - オープンソースの高性能3Dグラフィックスツールキット。 [OSGPL]
- OpenSubdiv - CPUおよびGPU上でのサブディビジョンサーフェス評価・レンダリングを行うPixarのライブラリ。 [Modified Apache2]
- OpenVDB - ボリュームデータセットの保存、編集、レンダリング用ライブラリおよびツール。 [MPL2]
- Panda3D - PythonおよびC++向けの3Dレンダリングとゲーム開発フレームワーク。 [BSD]
- Partio - 一般的なファイル形式の大半に対応した、パーティクルデータ操作ライブラリ。 [Modified BSD]
- Skia - テキスト、ジオメトリ、画像を描画する完全な2Dグラフィックスライブラリ。 [BSD] website
- ThorVG - SVGやLottieを含む、ベクターベースのシーンとアニメーションを描画できるプラットフォーム非依存のポータブルライブラリ。 [MIT] website
- TinySpline - 任意のNURBS、Bスプライン、ベジェ曲線の補間、変換、クエリーを行う、小型ながら強力なANSI Cライブラリ。 [MIT]
- urho3d - クロスプラットフォームのレンダリングおよびゲームエンジン。 [Many different, mostly MIT]
- Yocto/GL - データ駆動型物理ベースグラフィックス向けの小型C++ライブラリ。 [MIT]
- olive.c - シンプルな2Dグラフィックスライブラリ。 [MIT]
- avir - 高品質なプロ向けHDR画像リサイズと、高速SIMD Lanczosリサイズ。 [MIT]
- Boost.GIL - 汎用画像ライブラリ。 [Boost] website
- BitmapPlusPLus - シンプルで高速なヘッダーオンリーBitmap C++ライブラリ。 [MIT]
- CImg - 小型のオープンソースC++画像処理ツールキット。 [Own LGPL or GPL]
- CxImage - BMP、JPEG、GIF、PNG、TIFF、MNG、ICO、PCX、TGA、WMF、WBMP、JBG、J2K画像を読み込み、保存、表示、変換する画像処理・変換ライブラリ。 [zlib]
- Dlib :zap: - モダンなC++11機械学習、コンピュータービジョン、数値最適化、ディープラーニング向けツールキット。 [Boost] website
- fpng - 非常に高速なC++ PNG書き込み/読み込みライブラリ。 [Unlicense]
- FreeImage - 今日のマルチメディアアプリケーションで一般的な画像形式などをサポートするオープンソースライブラリ。 [GPL2 or GPL3]
- GD - 画像の読み込み/操作やサムネイル生成にPHPで広く使われるGD Graphics Library。 [custom permissive license, requires mention in user docs] website
- DCMTK - DICOMツールキット。
- GDCM - Grassroots DICOMライブラリ。
- ITK - オープンソースでクロスプラットフォームの画像解析システム。 [Apache2 from ITK 4.0]
- Jpegli - 改良されたJPEGエンコーダーおよびデコーダー実装。 [BSD-3-Clause]
- Leptonica - 画像処理および画像解析アプリケーションで幅広く役立つソフトウェアを含むオープンソースライブラリ。 [BSD-2-Clause] website
- libavif - .avifファイルをエンコードおよびデコードするライブラリ。 [BSD-2-Clause]
- libfacedetection - 画像内の顔を検出するオープンソースライブラリ。顔検出速度は1500 FPSに達します。 [BSD]
- libjpeg-turbo - ベースラインJPEGのエンコードとデコードをSIMD命令で高速化するJPEG画像コーデック。 [IJG & BSD-3-Clause & zlib] website
- libjxl - JPEG XL画像形式のリファレンス実装。 [BSD-3-Clause]
- libpng - PNG(Portable Network Graphics)ラスター画像ファイルの読み込み、作成、操作を行うアプリケーション向けのリファレンスライブラリ。 [libpng-2.0] website
- libspng - シンプルでモダンなlibpng代替。 [BSD-2] website
- libvips - メモリ使用量の少ない高速画像処理ライブラリ。 [LGPL] website
- LodePNG - CおよびC++のPNGエンコーダー/デコーダー。 [Zlib]
- Magick++ - C++向けImageMagickプログラムインターフェイス。 [Apache2]
- MagickWnd - C向けImageMagickプログラムインターフェイス。 [Apache2]
- MozJPEG - 改良版JPEGエンコーダー。 [BSD/BSD-3-Clause/ZLIB]
- OpenCV :zap: - オープンソースのコンピュータービジョン。 [Apache2] website
- OpenEXR - ハイダイナミックレンジ画像向けクロスプラットフォームライブラリ。 [Modified BSDF]
- OpenImageIO - 多数の一般的な非可逆形式やRAW形式をサポートする、強力な画像・テクスチャ操作ライブラリ。 [Modified BSD]
- OpenJPEG - C言語で記述されたオープンソースJPEG 2000コーデック。 [BSD-2-Clause]
- PlutoFilter - C製のシングルヘッダーで割り当て不要な画像フィルターライブラリ。 [MIT]
- QOI - 高速なロスレス画像圧縮のための「Quite OK Image Format」。 [MIT]
- SAIL - プラグイン式画像コーデックを備えた、使いやすいクロスプラットフォーム画像デコードライブラリ。 [MIT]
- Simd - SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX、AVX2、AVX-512、VMX(Altivec)、VSX(Power7)、ARM向けNEONを利用するC++ SIMD画像処理ライブラリ。 [MIT]
- stb-image - STBシングルヘッダー画像読み込みライブラリ。 [Public Domain]
- tesseract-ocr - OCRエンジン。 [Apache2]
- TinyDNG - C++製のヘッダーオンリーTiny DNG/TIFF読み込み・書き込みライブラリ。 [MIT]
- TinyEXIF - JPEG向けISO準拠の小型C++ EXIFおよびXMP解析ライブラリ。 [MIT]
- TinyTIFF - 軽量TIFF読み込み/書き込みライブラリ。 [GPL-3.0]
- Video++ - 高性能なC++14動画・画像処理ライブラリ。 [MIT]
- VIGRA - 画像解析向け汎用C++コンピュータービジョンライブラリ。 [MIT X11]
- VTK - 3Dコンピューターグラフィックス、画像処理、可視化のためのオープンソースで無償利用可能なソフトウェアシステム。 [BSD]
- OpenImageDenoise - レイトレーシング画像向け高性能・高品質ノイズ除去ライブラリ。 [Apache-2.0] website
- bitmap - BMP画像ファイルを読み込み、書き込み、処理するC++ Bitmapライブラリ。 [MIT]
- gettext - GNU gettext。 [GPL2]
- IBM ICU - Unicodeおよび国際化をサポートするC/C++およびJavaライブラリ群。 [ICU]
- libiconv - 異なる文字エンコーディング間の変換ライブラリ。 [GPL]
- simdutf - SSE2、AVX2、NEON、AVX-512を使い、毎秒数十億文字を処理するUnicodeルーチン(UTF-8、UTF-16、UTF-32)。 [Apache-2/MIT]
- uni-algo - C/C++向けUnicodeアルゴリズム実装。 [Unlicense or MIT]
- utf8.h - CおよびC++向けUTF-8文字列関数のシングルヘッダー。 [Unlicense]
- utf8proc - UTF-8 Unicodeデータを処理するクリーンなCライブラリ。 [MIT]
プロセス間通信
Section titled “プロセス間通信”C++、Java、Python、PHP、C#など多くの言語間で動作する、効率的なクロスランゲージIPC/RPC。もともとFacebookで開発。
- Apache Thrift - カーネルレベル共有メモリとメモリマップトファイル、およびセマフォやミューテックスなどの組み込み同期機構をサポートするヘッダーオンリーBoostライブラリ。 [Apache2]
- Boost.Interprocess - カーネルレベルの共有メモリーとメモリーマップトファイルをサポートし、セマフォやミューテックスなどの同期機構を内蔵するヘッダーオンリーBoostライブラリ。 [Boost] website
- bRPC - 検索、ストレージ、機械学習、広告、レコメンデーションなどの高性能システムでよく使われる、C++製の産業グレードRPCフレームワーク。 [Apache2] website
- Cap’n Proto - 高速なデータ交換形式と、能力ベースのRPCシステム。 [MIT] website
- eCAL - Pub/Sub、クライアント/サーバー、C++/Python/C#、protobufやcapnprotoなど各種メッセージプロトコルに対応。 [Apache2] website
- gRPC - 高性能なオープンソース汎用RPCフレームワーク。 [BSD] website
- Ice - C++、C#、Java、JavaScript、Pythonなどをサポートする包括的なRPCフレームワーク。 [GPLv2]
- iceoryx - 安全性が重要なシステム向けに、CおよびRustバインディングを備えた真のゼロコピー・プロセス間通信フレームワーク。Linux、QNX、Windows、Mac OS、FreeBSDで動作。 [Apache2] website
- libjson-rpc-cpp - C++サーバーおよびクライアント向けJSON-RPCフレームワーク。 [MIT]
- nanomsg - 複数の「スケーラビリティプロトコル」をシンプルかつ高性能に実装。 [MIT] website
- nng - nanomsgの次世代版である軽量なブローカーレスメッセージングライブラリ。 [MIT] website
- rpclib - モダンC++のmsgpack-RPCサーバーおよびクライアントライブラリ。 [MIT]
- simple-rpc-cpp - C/C++関数向けのシンプルなRPCラッパー生成器。 [BSD]
- SRPC - 複数のプロトコルとOpenTelemetryをサポートする軽量RPCシステム。 [Apache2]
- WAMP - RPCおよびPub/Subメッセージングパターンを提供。(実装と言語はさまざま)
- xmlrpc-c - XMLとHTTPを基盤とする軽量RPCライブラリ。 [BSD]
- Boost.PropertyTree - XML/JSON/INI/Infoファイルを解析できるプロパティツリーパーサー/ジェネレーター。 [Boost] website
- cJSON - ANSI C製の超軽量JSONパーサー。 [MIT]
- DAW JSON Link - 高速で便利なC++ JSONシリアライズおよび解析。 [BSL-1.0]
- frozen - C/C++向けJSONパーサー兼ジェネレーター。 [GPL & GPL2]
- Glaze - モダンC++向けの、非常に高速なインメモリJSONおよびインターフェイスライブラリ。 [MIT]
- Jansson - JSONデータをエンコード、デコード、操作するCライブラリ。 [MIT]
- jbson - C++14でBSONデータおよびJSONドキュメントを構築・反復処理するライブラリ。 [Boost]
- JeayeSON - 非常に使いやすいヘッダーオンリーC++ JSONライブラリ。 [BSD]
- Jsmn - 最小限のC JSONパーサー。 [MIT]
- json :zap: - モダンC++向けJSON。 [MIT] website
- json.cpp - C++向けの装飾的なJSON解析/シリアライズライブラリ。 [Apache-2.0]
- json.h - CおよびC++でJSONを解析する、シンプルな単一ヘッダー/単一ソースのソリューション。 [Unlicense]
- json-build - C89製の小型で割り当て不要なJSONシリアライザー。 [MIT]
- json-c - CによるJSON実装。 [MIT]
- jsoncons - JSONPointer、JSONPatch、JSONPath、JMESPathに対応する、JSONおよびJSON風バイナリ形式向けC++ヘッダーオンリーライブラリ。 [Boost]
- JsonCpp - JSONを扱うC++ライブラリ。 [MIT]
- Jsonifier - JSONからオブジェクトを非常に高速に解析・シリアライズするためのクラス群。 [MIT]
- jsonParse - ANSI C製のシンプルなJSONパーサー。 [MIT]
- json-parser - 移植性の高いANSI Cで記述された、非常に小さなJSONパーサー。 [BSD]
- json-struct - C++構造体との相互変換に対応した高性能シングルヘッダーJSONパーサー。 [MIT]
- json-voorhees - C++向けJSONライブラリ。C++11対応、依存関係なし、高速で開発者に使いやすい設計。 [Apache2]
- JSON Toolkit - C++20向けJSON、JSON Pointer、JSON Schema、JSONLライブラリ。 [AGPL/Commercial]
- jute - 非常にシンプルなC++ JSONパーサー。 [PublicDomain]
- libjson - あらゆるモデルに簡単に統合できるC製JSONパーサー/プリンターライブラリ。 [LGPL]
- libjson - 軽量JSONライブラリ。 [?]
- LIBUCL :zap: - 汎用設定ライブラリパーサー。 [BSD-2-Clause]
- meojson - 次世代C++ JSON/JSON5シリアライズエンジン。依存関係ゼロ、ヘッダーオンリーでJSONの可能性を引き出します。 [MIT]
- parson - Cで記述された軽量JSONライブラリ。 [MIT]
- PicoJSON - C++のヘッダーファイルのみで利用できるJSONパーサー兼シリアライザー。 [BSD]
- qt-json - JSONデータをQVariant階層に解析し、その逆も行うシンプルなクラス。 [GPLv3]
- RapidJSON :zap: - SAX/DOM形式のAPIを備えた高速なC++ JSONパーサー/ジェネレーター。 [MIT] website
- sajson - C++11向け軽量かつ非常に高性能なJSONパーサー。 [MIT]
- simdjson - 毎秒数GBのJSONを解析できる非常に高速なJSONライブラリ。 [Apache-2.0]
- Sonic-Cpp - SIMDで高速化された高速JSONシリアライズ/デシリアライズライブラリ。 [Apache-2.0]
- taoJSON - 依存関係ゼロのC++ヘッダーオンリーJSONライブラリ。 [MIT]
- ujson - 小型のC++11 UTF-8 JSONライブラリ。 [MIT]
- UltraJSON - Cで記述された超高速JSONデコーダーおよびエンコーダー。 [BSD-3-Clause]
- YAJL - C製の高速ストリーミングJSON解析ライブラリ。 [ISC]
- yyjson - ANSI Cで記述された高性能JSONライブラリ。 [MIT]
- libdart - 高性能でネットワーク向けに最適化されたJSON操作ライブラリ。 [MIT]
- Abseil Logging - Abseil Loggingライブラリは、stderr、ファイル、その他の出力先にログメッセージを書き込む機能を提供します。 [Apache-2.0]
- Blackhole - 高速でモジュール式、非常にカスタマイズしやすい属性ベースのロギングフレームワーク。 [MIT]
- Boost.Log - 高いモジュール性と拡張性を意図して設計。 [Boost] website
- BqLog - 「Honor of Kings」などのプロジェクトで使用される、軽量で高性能なロギングシステム。 [Apache-2.0]
- fmtlog - ナノ秒単位のレイテンシを実現する高性能なfmtlib風ロギングライブラリ。 [MIT]
- G3log - 動的シンクに対応する非同期ロガー。 [PublicDomain]
- glog - GoogleロギングモジュールのC++実装。
- haclog - 非常に高速なプレーンCロギングライブラリ。 [MIT]
- Log4cpp - ファイル、syslog、IDSA、その他の出力先に柔軟に記録するC++クラスライブラリ。 [LGPL]
- log4cplus - スレッドセーフで柔軟、任意の粒度でログ管理と設定を制御できる、使いやすいC++ロギングAPI。 [BSD & Apache2]
- loguru - 軽量なC++ロギングライブラリ。 [PublicDomain]
- lwlog - 非常に高速な同期/非同期C++17ロギングライブラリ。 [MIT]
- ng-log - アプリケーションレベルのロギング向けC++14ライブラリ。 [BSD-3-Clause]
- plog - 1000行未満のコードで実現したポータブルでシンプルなC++ロギング。 [MPL2]
- reckless - 低レイテンシ、高スループットのC++非同期ロギングライブラリ。 [MIT]
- spdlog - 非常に高速なC++ヘッダーオンリーロギングライブラリ。
- templog - C++アプリケーションにロギング機能を追加するための、非常に小さく軽量なC++ライブラリ。 [Boost]
- P7Baical - CPUとメモリの使用量を最小限に抑え、高速にテレメトリーとトレースデータを送信するオープンソースのクロスプラットフォームライブラリ。 [LGPL]
- Quill - クロスプラットフォームの低レイテンシ非同期ロギングライブラリ。 [MIT]
- logfault - シンプルで洗練され、効率的なC++ヘッダーオンリーロギングライブラリ。 [MIT]
- Caffe - ニューラルネットワーク向け高速フレームワーク。 [BSD]
- catboost - 高速でスケーラブル、高性能な決定木勾配ブースティングライブラリ。 [Apache2]
- CCV - Cベース/キャッシュ対応/コアコンピュータービジョンライブラリ。モダンなコンピュータービジョンライブラリ。 [BSD]
- darknet - CとCUDAで記述されたオープンソースニューラルネットワークフレームワーク。 [PublicDomain] website
- Dlib :zap: - モダンなC++11機械学習、コンピュータービジョン、数値最適化、ディープラーニング向けツールキット。 [Boost] website
- FAISS - 高密度ベクトルの効率的な類似検索とクラスタリングを行うライブラリ。 [MIT]
- FANN - 高速人工ニューラルネットワークCライブラリ。 [LGPL]
- Fido - 組み込み電子機器およびロボティクス向けの高度にモジュール化されたC++機械学習ライブラリ。 [MIT] website
- flashlight - ArrayFireテンソルライブラリを基盤とする、Facebook AI Researchの高速で柔軟なC++製機械学習ライブラリ。 [BSD-3-Clause] website
- ggml - 16ビットおよび4ビット量子化に対応する機械学習用テンソルライブラリ。 [MIT]
- libsvm - シンプルで使いやすく効率的なサポートベクターマシンライブラリ。 [BSD-3-Clause] website
- m2cgen - 学習済みの古典的機械学習モデルを依存関係ゼロのネイティブCコードに変換するCLIツール。 [MIT]
- MeTA - モダンなC++データサイエンスツールキット。 [MIT]
- Minerva - 高速で柔軟なディープラーニングシステム。 [Apache2]
- mlpack - スケーラブルなC++機械学習ライブラリ。 [LGPLv3] website
- ncnn - モバイルプラットフォーム向けに最適化された高性能ニューラルネットワーク推論計算フレームワーク。 [BSD]
- OpenCV :zap: - オープンソースのコンピュータービジョンライブラリ。 [BSD] website
- oneDAL - ビッグデータ分析の高速化に役立つ強力な機械学習ライブラリ。 [Apache]
- ONNX runtime - ONNXモデルの学習と推論を行うC/C++ライブラリ。ONNXは、学習に使用したライブラリに関係なくAIモデルを変換できる標準形式です。 [MIT] website
- Recommender - 協調フィルタリング(CF)を用いた商品レコメンデーション/提案のためのCライブラリ。 [BSD]
- RNNLIB - 系列学習問題向けリカレントニューラルネットワークライブラリ。 [GPLv3]
- SHOGUN - Shogun機械学習ツールボックス。 [GPLv3]
- sofia-ml - 高速な逐次学習アルゴリズムのスイート。 [Apache2]
- USearch - ベクトルおよび文字列向け高速検索・クラスタリングライブラリ。 [Apache2]
- VLFeat - 画像理解と局所特徴の抽出・照合を専門とする、一般的なコンピュータービジョンアルゴリズムを実装したVLFeatオープンソースライブラリ。 [BSD-2-Clause] website
- xgboost - Python、R、Java、Scala、C++など向けのスケーラブル、ポータブル、分散型勾配ブースティング(GBDT、GBRT、GBM)ライブラリ。単一マシン、Hadoop、Spark、Flink、DataFlowで動作。 [Apache2]
- TensorComprehensions - 高性能な機械学習カーネルを自動合成する、完全機能のC++ライブラリ。 [Apache-2.0]
- kann - 人工ニューラルネットワーク向け軽量Cライブラリ。 [MIT]
- Apophenia - 統計および科学計算向けCライブラリ。 [GPL2]
- Armadillo - 線形代数および科学計算向け高速C++ライブラリ。 [Apache2] website
- autodiff - モダンで高速、表現力豊かなC++自動微分ライブラリ。 [MIT] website
- blaze - 密/疎演算向け高性能C++数学ライブラリ。 [BSD]
- Boost.Multiprecision - GMP/MPFR/LibTomMathバックエンドを利用するかヘッダーオンリーで使える、より広い範囲・高精度の整数、有理数、浮動小数点型をC++に提供。 [Boost] website
- ceres-solver - Google製の、大規模で複雑な非線形最小二乗問題のモデル化と解決を行うC++ライブラリ。 [BSD]
- CGAL - 効率的で信頼性の高い幾何アルゴリズム集。 [LGPL&GPL] website
- cml - 設定可能な数学ライブラリ。 [Boost]
- CNL - C++向け構成可能数値ライブラリ。 [Boost]
- DirectXMath - ゲームやグラフィックスアプリケーション向けの、すべてインライン実装されたSIMD C++線形代数ライブラリ。
- Dlib :zap: - モダンなC++11機械学習、コンピュータービジョン、数値最適化、ディープラーニング向けツールキット。 [Boost] website
- Eigen - 線形代数、行列・ベクトル演算、数値ソルバーおよび関連アルゴリズム向けの高水準C++テンプレートヘッダーライブラリ。 [MPL2]
- ExprTk - C++ Mathematical Expression Toolkit Library(ExprTk)は、使いやすく統合しやすい、非常に効率的な実行時数式パーサー兼評価エンジンです。 [MIT]
- Fastor - モダンC++向けの軽量で高性能なテンソル代数フレームワーク。 [MIT]
- geo-utils-cpp - 球面緯度/経度ジオメトリ(距離、方位、面積、点のポリゴン内判定)向けC++17ヘッダーオンリーライブラリ。 [Apache2]
- Geometric Tools - 数学、グラフィックス、画像解析、物理分野の計算を行うC++ライブラリ。 [Boost] website
- GLM - OpenGLのGLSL数学に一致し、相互運用できるヘッダーオンリーC++数学ライブラリ。 [MIT] website
- GMTL - Graphics Math Template Libraryは、グラフィックスプリミティブを汎用的な方法で実装するツール群です。 [GPL2]
- GMP - 符号付き整数、有理数、浮動小数点数を扱う任意精度演算用Cライブラリ。 [LGPL3 & GPL2]
- Klein - 点、直線、平面の射影、交差、結合、剛体運動などを扱う、高速でSIMD最適化されたC++17幾何代数ライブラリ。 [MIT] website
- libfixmath - クロスプラットフォーム固定小数点数学ライブラリ。 [MIT]
- linalg.h - C++向け単一ヘッダー、パブリックドメインの短ベクトル数学ライブラリ。 [Unlicense]
- MATIO - MATLAB MATファイルI/Oライブラリ。 [BSD-2-Clause] website
- MatX - MATLAB/Python風の構文を持つ、GPUアクセラレーション対応C++17数値計算ライブラリ。 [BSD 3-clause]
- mexce - 最適化されたx87 FPU機械語を生成する、スカラー数式向けのシングルヘッダー・依存関係ゼロのJITコンパイラー。 [BSD]
- MIRACL - 多倍長整数および有理数演算の暗号ライブラリ。 [AGPL]
- NumCpp - Python NumPyライブラリをテンプレートで実装したヘッダーオンリーC++版。 [MIT]
- NumKong - 16種類の数値型向けSIMD高速化距離、内積、行列演算、地理空間・幾何カーネル。
- OMath - チート/ゲーム開発に適した、C++23製のクロスプラットフォーム汎用モダン数学ライブラリ。 [ZLIB]
- muparser - C++で記述された、拡張可能で高性能な数式パーサーライブラリ。 [MIT]
- LibTomMath - すべてCで記述された、無料、オープンソース、ポータブルな数論用多倍長整数ライブラリ。 [PublicDomain & WTFPL] website
- linmath.h - グラフィックスプログラミング向けの軽量線形代数ライブラリ。 [WTFPL]
- lp_solve - 線形計画問題を定式化して解くためのライブラリ。 [LGPL] website
- OpenBLAS - GotoBLAS2 1.13 BSD版を基盤とする最適化BLASライブラリ。 [BSD 3-clause] website
- PCG-rand - PCGは、シンプル、高速、省メモリで統計的性質に優れた乱数生成アルゴリズム群です。多くの汎用RNGと異なり、予測も困難です。 [Apache]
- QuantLib - 定量金融向けの無料オープンソースライブラリ。 [Modified BSD] website
- sebsjames/maths - クライアントプログラマーの利便性と使いやすさを重視したテンプレート式C++20数学ライブラリ(mathplotで使用)。 [Apache2] website
- StatsLib - 統計分布関数を備えたC++ヘッダーオンリーライブラリ。 [Apache2] website
- SymEngine - SymPyのコアをC++で書き直した高速な記号操作ライブラリ。 [MIT]
- TinyExpr - 文字列から数式を解析・評価するCライブラリ。 [zlib]
- Vc - C++向けSIMDベクトルクラス。 [BSD]
- Versor - ユークリッド、射影、共形、時空などを含む、高速で汎用的な幾何代数C++ライブラリ。
- Wagyu - 幾何データの和集合、交差、差、排他的論理和を計算する汎用ライブラリ。 [mapbox-wagyu original]
- wide-integer - uint128_t、uint256_t、uint512_t、uint1024_tなどの汎用C++テンプレートを実装。 [BSL-1.0]
- Wykobi - 効率的で堅牢、使いやすいC++ 2D/3D指向計算幾何ルーチンのライブラリ。 [MIT]
- xtensor - NumPy構文に着想を得た、多次元配列式を使う数値解析向けC++14ライブラリ。 [BSD 3-clause] website
- universal - 任意精度のposit演算を実装するC++14ヘッダーオンリーライブラリ。posit数体系はIEEE浮動小数点より効率的なテーパー型浮動小数点で、再現可能な計算科学を可能にします。 [MIT license]
- utl::random - モンテカルロシミュレーションおよびゲーム開発向けの高速乱数を実装したC++17ヘッダーオンリーライブラリ。 [MIT]
- XAD - C++向けの強力な自動微分。 [AGPL] website
- geogram - 幾何アルゴリズムのプログラミングライブラリ。 [BSD-3-Clause]
- std-simd - C++向けstd::experimental::simdのポータブル実装。 [BSD-3-Clause]
- libdivide - libdivideを使うC/C++向け最適化整数除算。 [zlib] website
- fpsqrt - C向け高速固定小数点および浮動小数点平方根。 [MIT]
- fastmod - 剰余とモジュラーリダクションを計算するヘッダーオンリー高速C/C++ライブラリ。 [Apache-2.0]
- Spectra - Eigenを基盤とする、大規模固有値問題向けC++ライブラリ。 [MPL2] website
- FastNoiseSIMD - SIMDアクセラレーションによるノイズ生成関数のライブラリ。 [MIT]
メモリー割り当て
Section titled “メモリー割り当て”- Boehm GC - CおよびC++向け保守的ガベージコレクター。 [similar to X11] website
- C Smart Pointers - (GNU)Cプログラミング言語向けスマートポインター。 [MIT]
- Hoard - Linux、Windows、Mac向けの高速、スケーラブルでメモリ効率のよいmalloc。 [Apache-2.0] website
- jemalloc - フラグメンテーション回避とスケーラブルな並行処理サポートを重視する汎用malloc(3)実装。 [BSD] website
- memory - STL互換C++メモリーアロケーターライブラリ。 [ZLib]
- memory-allocators - 動的メモリー割り当ての性能を高めるカスタムメモリーアロケーター。 [MIT]
- mimalloc - 優れた性能を備えたコンパクトな汎用アロケーター。 [MIT]
- rpmalloc - Cで実装された、クロスプラットフォームのロックフリー・スレッドキャッシュ対応16バイト整列メモリーアロケーター。 [PublicDomain]
- snmalloc - メッセージパッシング方式の高性能アロケーター。 [MIT]
- TCMalloc - Google製の高速マルチスレッドmalloc実装。 [Apache-2.0] website
- buddy_alloc - 割り当てコストに上限のある、C向けシングルヘッダー・バディメモリーアロケーター。 [0BSD]
- tgc - 約500行のCで記述された小型ガベージコレクター。 [BSD]
- Mesh - C/C++アプリケーションのメモリーフットプリントを自動的に削減するメモリーアロケーター。 [Apache-2.0]
- rpmalloc - パブリックドメインのクロスプラットフォーム・ロックフリー・スレッドキャッシュ対応16バイト整列メモリーアロケーター。 [PublicDomain]
- TLSF - 汎用動的メモリーアロケーターであるTwo-Level Segregated Fit。 [BSD]
マルチメディア
Section titled “マルチメディア”- GStreamer - メディア処理コンポーネントのグラフを構築するライブラリ。 [LGPL]
- icey - C++20で構築された、RTSP取り込み、メディア処理、シグナリング、TURN、ブラウザー配信向けリアルタイムメディアスタック兼軽量libwebrtc代替。 [LGPL v2.1+]
- libass - ASS/SSA字幕形式向けのポータブル字幕レンダラー。 [ISC]
- libav - 音声、動画、字幕、関連メタデータなどのマルチメディアコンテンツを処理するライブラリおよびツール群。 [LGPL v2.1+ and others] website
- LIVE555 Streaming Media - RTP/RTCP、RTSP、SIPなどのオープン標準プロトコルを使うマルチメディアストリーミングライブラリ。 [LGPL]
- libVLC - libVLC(VLC SDK)メディアフレームワーク。 [GPL]
- MediaInfoLib - 動画・音声ファイルから重要な技術情報やタグデータを便利に統一表示。 [BSD]
- QtAv - QtとFFmpegを基盤とし、簡単にプレーヤーを作成できるマルチメディア再生フレームワーク。 [LGPL] website
- SDL :zap: - Simple DirectMedia Layer。 [zlib] website
- SFML :zap: - シンプルで高速なマルチメディアライブラリ。 [zlib] website
- TagLib - 一般的な複数のオーディオ形式のメタデータを読み取り、編集するライブラリ。 [LGPL/MPL] website
ネットワーク
Section titled “ネットワーク”- ada - モダンC++で記述された、WHATWG準拠の高速URLパーサー。 [Apache-2.0/MIT]
- ACE - C++のオブジェクト指向ネットワークプログラミングツールキット。 [?MIT?]
- AGENT++ - SNMPエージェント開発向けに、SNMP v1/2c/3プロトコルエンジンとディスパッチャーを完全実装したC++フレームワーク。 [Apache-2.0]
- Boost.Asio :zap: - ネットワークおよび低レベルI/Oプログラミング向けのクロスプラットフォームC++ライブラリ。 [Boost] website
- Boost.Beast :zap: - C++11でBoost.Asio上に構築されたHTTPおよびWebSocket。 [Boost] website
- Breep - イベント駆動型の高水準C++14ピアツーピアライブラリ。 [EUPL-1.1 (OSI approved)]
- C++ REST SDK - C++ REST SDK(以前の名称はCasablanca)。 [Apache2]
- CZMQ - ØMQ向け高水準Cバインディング。 [MPL2] website
- Restbed - C++11非同期RESTfulフレームワーク。 [AGPL]
- Restinio - 組み込みHTTP/WebSocketサーバーを提供するヘッダーオンリーC++14ライブラリ。 [BSD]
- c-ares - 非同期DNSリクエスト向けCライブラリ。 [MIT]
- cofetch - libcurlのmultiインターフェイスとASIOを基盤とする、連結可能な非同期HTTPクライアント。コールバック、コルーチン、futureを単一実装から利用できます。 [MIT]
- cpp-httplib - 単一ファイルのC++11ヘッダーオンリーHTTP/HTTPSサーバーライブラリ。 [MIT]
- cpp-netlib - 高水準ネットワークプログラミング向けオープンソースライブラリ集。 [Boost]
- cpp-netlib/uri - RFC 3986およびRFC 3987に準拠するC++ URIパーサー/ビルダーライブラリ。 [Boost]
- CppServer - TCP、SSL、UDP、HTTP、HTTPS、WebSocketに対応し、1万接続問題を解決する超高速・低レイテンシの非同期ソケットサーバー/クライアントC++ライブラリ。 [MIT]
- cpr - シンプルながら強力なインターフェイスを持つモダンC++ HTTPリクエストライブラリ。Python Requestsモジュールをモデルとしています。 [MIT] website
- curlcpp - CURL(libcurl)向けオブジェクト指向C++ラッパー。 [MIT]
- curlpp - C++ラッパー。 [MIT]
- DPDK - 高速パケット処理向けのライブラリとドライバーを提供するData Plane Development Kit。 [BSD-3-Clause & GPL-2.0] website
- ENet - 信頼性の高いUDPネットワークライブラリ。 [MIT] website
- evpp - TCP/UDP/HTTPプロトコルに対応したC++高性能ネットワーキング。 [BSD]
- FTP client for C++ - FTPリクエストを行うC++クライアント。 [MIT]
- H2O - HTTP/1.xおよびHTTP/2に対応した最適化HTTPサーバー。ライブラリとしても利用できます。 [MIT]
- KCP - アプリケーションのネットワークレイテンシ低減に役立つ、高速で信頼性の高いARQプロトコル。 [MIT]
- libcurl - 複数プロトコル対応のファイル転送ライブラリ。 [MIT/X derivate license]
- libhttpserver - 組み込みREST HTTPサーバーなどを作成するC++ライブラリ。 [LGPL2.1]
- Libmicrohttpd - 別のアプリケーションの一部としてHTTPサーバーを簡単に実行できる、小型のGNU Cライブラリ。 [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 + static link exception] website
- Lithium - C++の専門家でなくても高性能C++ HTTPサーバーを構築できます。 [MIT]
- lwIP - 軽量TCP/IPスタック。 [Modified BSD]
- mailio - MIME形式とSMTP、POP3、IMAPプロトコル向けのクロスプラットフォームC++ライブラリ。 [BSD]
- Mongoose - 非常に軽量なWebサーバー。 [GPL2]
- MQTT-C - 組み込みシステムとPCの両方で使えるポータブルなMQTT Cクライアント。 [MIT] website
- mTCP - マルチコアシステム向けの高スケーラビリティなユーザーレベルTCPスタック。 [Modified BSD]
- Muduo - Linux上のマルチスレッドサーバー向けC++ノンブロッキングネットワークライブラリ。 [BSD]
- nghttp2 - HTTP/2 Cライブラリ。 [MIT] website
- nghttp3 - Cで記述されたHTTP/3ライブラリ。 [MIT] website
- Onion - 軽量で使いやすいC製HTTPサーバーライブラリ。 [Apache2/GPL2]
- OpenDDS - Object Management Group(OMG)Data Distribution Service(DDS)のオープンソースC++実装。 [Apache2]
- PF_RING™ - 高速パケット処理フレームワーク。 [LGPL-2.1] website
- PicoHTTPParser - 小型、基本的、高速なHTTPリクエスト/レスポンスパーサー。 [MIT]
- POCO :zap: - デスクトップ、サーバー、モバイル、組み込みシステムで動作するネットワーク/インターネットアプリケーションを構築するC++クラスライブラリおよびフレームワーク。 [Boost] website
- Proxygen - 使いやすいHTTPサーバーを含むFacebookのC++ HTTPライブラリ集。 [BSD]
- RedPanda - 開発者向けストリーミングデータプラットフォーム。Kafka API互換。10倍高速。 [BSL]
- RakNet - ゲームプログラマー向けのクロスプラットフォーム・オープンソースC++ネットワーキングエンジン。 [BSD]
- restclient-cpp - libcurlでHTTPリクエストを行うシンプルなC++ RESTクライアント。 [MIT]
- Seasocks - WebSocketに対応した、シンプルで小型、C++に組み込み可能なWebサーバー。 [BSD]
- SNMP++ - SNMP v1/2c/v3をサポートするC++ API。 [custom permissive license]
- tlse - 暗号ライブラリとしてtomcryptを使用する単一CファイルのTLS 1.2/1.3実装。 [BSD-2-Clause]
- TQUIC - CおよびC++に公開された、高性能で軽量、クロスプラットフォームのQUICライブラリ。 [Apache2]
- Tufão - Qtを基盤とするC++非同期Webフレームワーク。 [LGPL2]
- uriparser - RFC 3986に厳密に準拠するURI解析・処理ライブラリ。 [BSD-3-Clause]
- uWebSockets - 利用可能なWebSocketおよびHTTPサーバー実装の中で、最も軽量、効率的、スケーラブルなもののひとつであるµWS。 [Zlib]
- UCall - io_uring上の高性能SIMDアクセラレーションRPCライブラリ。 [Apache2]
- WAFer - スケーラブルなサーバーサイドおよびネットワークアプリケーション向けの、C言語ベースの超軽量ソフトウェアプラットフォーム。Cプログラマー向けnode.js。 [GPL2]
- Wangle - 非同期でイベント駆動型のモダンC++サービスを構築するクライアント/サーバーアプリケーションフレームワーク。 [Apache-2.0]
- wdt - 複数のTCP経路を使って2システム間で可能な限り高速にデータ転送する組み込み可能ライブラリ兼コマンドラインツール。 [BSD-3-Clause]
- WebSocket++ - C++/Boost AsioベースのWebSocketクライアント/サーバーライブラリ。 [BSD]
- wspp - 依存関係ゼロのシングルヘッダーで実現するモダンなWebSocketクライアント/サーバー、ws/wssライブラリ。 [MIT]
- PcapPlusPlus - マルチプラットフォーム対応のC++ネットワークスニッフィング、パケット解析および生成フレームワーク。 [Unlicense]
- ZeroMQ - 高速でモジュール式の非同期通信ライブラリ。 [LGPL3/MPL2] website
- Zyre - ピアツーピアアプリケーション向けローカルエリアクラスタリング。 [MPL2]
- easyhttpcpp - キャッシュ機能を備えたSony製クロスプラットフォームHTTPクライアントライブラリ。 [MIT]
- GameNetworkingSockets - Valveによる信頼性のある/ないUDPメッセージング。TCPのようなコネクション指向API。 [BSD-3-Clause]
- wepoll - Winsockを基盤とするWindows epollラッパー。 [BSD-2-Clause]
Office Open XML
Section titled “Office Open XML”xlsx、pptx、docxなどを解析・操作するライブラリ
- DuckX - Microsoft Word(.docx)ファイルを作成・変更するC++ライブラリ。 [MIT]
- FreeXL - スプレッドシートから有効なデータを抽出するオープンソースライブラリ。 [MPL/GPL-2/LGPL-2]
- libxls - C/C++からバイナリ形式のExcelファイルを読み込み。 [BSD-2-Clause]
- libxlsxwriter - Excel XLSXファイルを作成するCライブラリ。 [BSD-2-Clause] website
- OpenXLSX - Microsoft Excel®(.xlsx)ファイルを読み込み、書き込み、作成、変更するC++ライブラリ。 [BSD-3-Clause]
- SimpleXlsxWriter - Microsoft Excel 2007以降向けXLSXファイル書き込みツール。 [zlib]
- XLSX I/O - .xlsxファイルを読み書きするCライブラリ。 [MIT]
PDFドキュメントを解析・操作するライブラリ
- libharu - PDFを生成する無料、クロスプラットフォーム、オープンソースのソフトウェアライブラリ。 [zlib]
- litePDF - デバイスコンテキスト経由でGDI関数を使ってページ内容を描画し、PDFドキュメントを作成・編集するライブラリ。 [LGPL v3 and zlib]
- MuPDF - 軽量なPDF、XPS、電子書籍ビューアー。 [AGPL/Proprietary]
- PDF-Writer - C++でPDFファイルを作成、変更、解析する高性能ライブラリ。 [Apache-2.0] website
- PDF4QT - レンダリング・編集ライブラリ、ビューアー、コマンドラインツールを備えたPDFツールキット。 [MIT] website
- pdfio - PDFファイルを読み書きするシンプルなCライブラリ。 [Apache-2] website
- PDFium - PDF生成およびレンダリングライブラリ。 [BSD-3-Clause]
- PoDoFo - PDFファイル形式を扱うライブラリ。 [LGPL]
- Poppler - xpdf-3.0コードベースを基盤とするオープンソースのマルチバックエンドPDFレンダリングライブラリ。 [GPLv2/GPLv3]
- QPDF - PDFファイルの内容を保持した変換を行うツールおよびC++ライブラリ。 [Apache-2.0] website
- Xpdf - Xpdfは無料のPDFビューアー兼ツールキットで、テキスト抽出、画像変換、HTML変換などを含みます。 [GPL v2/GPL v3]
- DynaPDF - 使いやすいPDF生成ライブラリ。 [Commercial]
動力学シミュレーションエンジン
- Box2D - ゲーム向け2D物理エンジン。 [BSD-like]
- Bullet - ゲーム向け3D物理エンジン。 [zlib] website
- Chipmunk - 高速で軽量な2Dゲーム物理ライブラリ。 [MIT] website
- Jolt Physics - マルチコアに適した剛体物理および衝突検出ライブラリ。 [MIT]
- Kratos - モジュール性、拡張性、高性能を目指す、並列かつ学際的なシミュレーションソフトウェア構築用フレームワーク。 [BSD] website
- LiquidFun - ゲーム向け2D物理エンジン。 [BSD-like]
- Newton Dynamics - 物理環境のリアルタイムシミュレーション向け統合ソリューション。 [zlib]
- ODE - Open Dynamics Engine。剛体動力学をシミュレートするオープンソース高性能ライブラリ。 [BSD&LGPL]
- ofxBox2d - openFrameworks向けBox2Dラッパー。 [BSD-like]
- PhysX - Nvidia GameWorksソフトウェアスイートの一部としてNvidiaが開発した、オープンソースのリアルタイム物理エンジン・ミドルウェアSDK。 [BSD-3-Clause]
- PlayRho - 対話型物理エンジン兼ライブラリ。 [Zlib]
- Project Chrono - オープンソースのマルチフィジックス・シミュレーションエンジン。 [BSD-3-Clause] website
- Quantum++ - モダンなC++11量子コンピューティングライブラリ。 [MIT]
- QuarkPhysics - 2Dソフトボディおよび剛体物理エンジン。 [MIT]
- Simbody - 車両、ロボット、人体骨格などの多関節生体・機械システムをシミュレートする、高性能C++多体動力学/物理ライブラリ。 [Apache2]
- SOFA - リアルタイムシミュレーションを対象とし、特に医療シミュレーションに重点を置くオープンソースフレームワーク。 [LGPL] website
- tungsten - 高性能なC++物理ベースレンダラー。 [zlib]
リフレクション
Section titled “リフレクション”- config-loader - 設定ファイルを解析し、ネイティブデータ構造に変換するC++17静的リフレクションフレームワーク。 [MIT]
- Better Enums - 文字列変換や反復処理に対応するリフレクション付きenum。シングルヘッダー。 [BSD] website
- clReflect - clangを使ったC++リフレクション。 [MIT]
- CPFG - リフレクション、コールバック、スクリプトバインディング向けC++03ライブラリ。 [Apache2]
- CPP-Reflection - clangを使ったC++リフレクション。 [MIT]
- Easy Reflection - Rust、Java、Goのような使いやすく高速なリフレクション+シリアライズソリューション。 [Apache]
- Enchantum - コンパイル時enumリフレクション向けモダンC++17ヘッダーオンリーライブラリ。 [MIT]
- Magic Enum - 文字列変換や反復処理に対応する静的enumリフレクションを提供するヘッダーオンリーC++17ライブラリ。マクロや定型コードなしですべてのenum型で動作。 [MIT]
- magic_get - ユーザー定義型で、マクロや定型コードなしにstd::tuple風のメソッドを利用。 [Boost]
- meta - C++のヘッダーオンリー、非侵襲的でマクロ不要の実行時リフレクションシステム。 [MIT]
- Nameof - 変数、型、関数、マクロ、enumの簡潔な名前を取得するマクロと関数を提供するヘッダーオンリーC++17ライブラリ。 [MIT]
- REFLECT - C++20静的リフレクションライブラリ。 [MIT]
- reflect-cpp - 構造体からのフィールド名の自動取得を含む、リフレクションによるシリアライズ。 [MIT]
- RTTR - C++11向けリフレクションライブラリ。 [MIT] website
- simple_enum - 高速で直感的、型安全なC++列挙型サポートライブラリ。 [BSL-1.0] website
- TSMP - 侵襲的な仕組みやマクロを使わないC++20静的リフレクションライブラリ。libclangでソースからリフレクションデータを抽出し、テンプレート特殊化で利用可能にします。 [MIT]
- visit_struct - C++構造体フィールドのリフレクション向け小型ライブラリ。 [Boost]
- Refureku - C++17実行時リフレクションおよびコード生成ライブラリ。 [MIT]
- CppVerbalExpressions - C++正規表現を簡単に使えます。 [MIT]
- CTRE - コンパイル時に評価される、PCREと(ほぼ)互換の正規表現マッチャー。 [MIT]
- Hyperscan - Intel製の高性能マルチ正規表現マッチングライブラリ。数万個におよぶ多数の正規表現を同時に照合できます。通常はDPIライブラリスタックで利用されます。 [BSD]
- Oniguruma - さまざまな文字エンコーディングに対応する、モダンで柔軟な正規表現ライブラリ。 [BSD]
- PCRE - Perlの正規表現機能に着想を得たC正規表現ライブラリ。 [BSD]
- PCRE2 - 正規表現パターンマッチングを実装するC関数群。 正規表現パターンマッチング。 [BSD] website
- PIRE - Yandex製のPerl非互換正規表現ライブラリ。非常に高速(400 MB/s超)です。 [LPGL v3.0]
- RE2 - オートマトン理論に基づく有限状態機械を使った正規表現ソフトウェアライブラリ。 [BSD-3-Clause]
- SLRE - C/C++向け超軽量正規表現エンジン。 [GPLv2/Proprietary]
- sregex - 大規模データストリーム照合向けの、バックトラッキングを行わないNFA/DFAベースのPerl互換正規表現エンジンライブラリ。 [BSD]
- SRELL - Unicodeに対応するC++正規表現テンプレートライブラリ。 [BSD]
- TRE - 近似正規表現マッチングライブラリおよびagrepコマンドラインツール。 [BSD-2-Clause]
- Vectorscan - 高性能正規表現マッチングライブラリのポータブルなフォーク。 [BSD-3-Clause]
- Pawn.Regex - C++11 std::regexで正規表現をサポートするPawnプラグイン。 [MIT]
ロボティクス
Section titled “ロボティクス”- FusionCore - 適応型ノイズ処理と外れ値除去を備え、GPS、IMU、車輪オドメトリーを融合して堅牢な屋外位置推定を行うROS 2 UKFセンサーフュージョンライブラリ。 [Apache2]
- MOOS-IvP - ロボットプラットフォーム、特に自律型海洋車両に自律性を提供するオープンソースC++モジュール群。
- MRPT - 移動ロボットプログラミングツールキット。 [BSD]
- PCL - Point Cloud Libraryは、2D/3D画像および点群処理向けの、スタンドアロンで大規模なオープンプロジェクトです。 [BSD] website
- Robotics Library (RL) - ロボットの運動学、動作計画、制御を行う自己完結型C++ライブラリ。 [BSD]
- RobWork - ロボットシステムのシミュレーションと制御を行うC++ライブラリ集。 [Apache2] website
- ROS - Robot Operating Systemは、ソフトウェア開発者がロボットアプリケーションを作成するためのライブラリとツールを提供します。 [BSD]
- Ruckig - ロボットや機械向けのリアルタイム動作生成。 [MIT] website
- YARP (Yet Another Robot Platform) - 通信およびデバイスインターフェイス向けライブラリとツールキット。 [BSD-3-Clause] website
- SPICE Toolkit - ロボット宇宙機による科学観測の計画・分析で使う幾何情報を計算するライブラリおよびツールキット。 [MIT] website
- AMGCL - 代数的マルチグリッド法で大規模疎線形系を解くC++ヘッダーオンリーライブラリ。 [MIT]
- Au - 依存関係がなく、単一ファイルでの配布も可能なC++14互換の物理単位ライブラリ。安全性、アクセシビリティ、性能、開発者体験を重視。 [Apache 2.0] website
- FFTW - 1次元または多次元の離散フーリエ変換(DFT)を計算するCライブラリ。 [GPL]
- GSL - GNU科学計算ライブラリ。 [GPL]
- preCICE - 分割型マルチフィジックスシミュレーション(FSI、CHTなど)向け連成ライブラリ。 [LGPL] website
- TileDB - 高速な密/疎多次元配列DBMS。 [MIT] website
- Trilinos - 高性能PDEソルバー。 [BSD]
- Torch - GPUを最優先し、機械学習アルゴリズムを幅広くサポートする科学計算フレームワーク。 [BSD-3-Clause] website
- volesti - 切断分布からの高次元サンプリング、凸最適化、体積計算。
スクリプティング
Section titled “スクリプティング”- AngelScript - ゲーム向けのインタープリター/コンパイル型スクリプト言語。 [zlib]
- Boost.Python - C++とPythonプログラミング言語間のシームレスな相互運用を可能にするC++ライブラリ。 [Boost] website
- cppimport - PythonからC++ファイルを直接インポート。 [MIT]
- CppSharp - C/C++ APIを高水準言語に接続するツールとライブラリ。 [MIT]
- ChaiScript - 使いやすいC++組み込みスクリプト言語。 [BSD] website
- ctypes.sh - bash向け外部関数インターフェイス。 [MIT]
- Cython - Cythonは、Pythonと(Pyrexを基盤とする)拡張Cython言語の両方に対応する最適化静的コンパイラーです。Python拡張向けCコードを、Pythonそのものと同じくらい簡単に書けます。 [Apache] website
- djinni - 言語間の型宣言とインターフェイスバインディングを生成するツール。 [Apache2]
- Duktape - フットプリントの小さい組み込み可能JavaScriptエンジン。 [MIT] website
- JavaCpp - JavaとネイティブC++をつなぐ、欠けていた橋渡し。 [Apache2]
- JerryScript - IoT向けの超軽量JavaScriptエンジン。 [Apache-2.0] website
- libffi - ポータブルな外部関数インターフェイスライブラリ。 [MIT] website
- Lua - 設定ファイルおよび基本的なアプリケーションスクリプト向けの、最小限で高速なスクリプトエンジン。 [MIT]
- LuaBridge - LuaをC++にバインドする軽量で依存関係のないライブラリ。 [MIT]
- LuaBridge3 - Lua、LuaJIT、Luau、RaviをC++にバインドする軽量で依存関係のないライブラリ。 [MIT]
- luacxx - Luaバインディングを作成するC++11 API。 [MIT]
- Luau - Luaから派生した、高速、小型、安全で段階的型付けに対応する組み込み可能スクリプト言語。 [MIT] website
- MicroQuickJS - 組み込みシステムを対象としたJavaScriptエンジン。 [MIT]
- MiniScript - モダンで洗練され、学びやすく、独自のC#またはC++プロジェクトに組み込みやすいスクリプト言語。 [MIT]
- nanobind - 小型で効率的なC++/Pythonバインディング。 [BSD-3-Clause]
- nbind - C++ライブラリをJavaScriptから利用可能にする魔法のようなヘッダー。 [MIT]
- PHP-CPP - C++でPHP拡張を構築するライブラリ。 [Apache2] website
- pocketpy - ゲームスクリプト向けC++17ヘッダーオンリーPythonインタープリター。 [MIT] website
- pybind11 - C++11とPython間のシームレスな相互運用。 [BSD]
- QuickJS - 小型で組み込み可能なJavaScriptエンジン。 [MIT]
- SIP - Python v2およびv3向けC/C++バインディング生成器。 [GPL]
- sol2 - 高度な機能と最高レベルの性能を持つC++とLuaのAPIラッパー。 [MIT]
- SWIG - C++コードをJavaScript、Perl、PHP、Python、Tcl、Rubyに接続できるラッパー/インターフェイス生成器。 [GPL/Output not licensed] website
- txiki.js - 小型のJavaScriptランタイム。 [MIT]
- V7 - 組み込みJavaScriptエンジン。 [GPL2]
- V8 - あらゆるC++アプリケーションに組み込める、Google製の高速JavaScriptエンジン。 [BSD]
- v8pp - JavaScriptコードから使えるように、C++クラスと関数をV8に公開するヘッダーオンリーライブラリ。 [BOOST] website
- ChakraCore - Microsoft製のJavaScriptエンジンで、nodejsに組み込み可能。 [MIT]
- MuJS - 組み込み可能なC製JavaScriptインタープリター。 [ISC] website
- hobbes - Morgan Stanley製の言語および組み込みJITコンパイラー。 [Apache-2.0]
シリアライズ
Section titled “シリアライズ”- BitSerializer - JSON、XML、YAML、CSV、MsgPackに対応するマルチフォーマットシリアライズライブラリ。 [MIT]
- Bitsery - ヘッダーオンリーC++バイナリーシリアライズライブラリ。 [MIT]
- Bond - スキーマ化データを扱うためのオープンソース・クロスプラットフォームフレームワーク。 [MIT]
- Boost.Serialization - Boostシリアライズライブラリ。 [Boost] website
- Cap’n Proto - 高速なデータ交換形式と、能力ベースのRPCシステム。 [MIT] website
- cereal - C++11シリアライズライブラリ。 [BSD]
- cista - ゼロコピーの高性能シリアライズ/デシリアライズ向けC++17ライブラリ。 [MIT]
- cppcodec - 一貫性と柔軟性のあるAPIでbase64、base32、hexをエンコード/デコードするヘッダーオンリーC++11ライブラリ。 [MIT]
- FastBinaryEncoding - C++、C#、Go、Java、JavaScript、Kotlin、Python、Ruby、Swift向けの超高速で汎用的なFast Binary Encodingシリアライズソリューション。 [MIT]
- FlatBuffers - メモリー効率に優れたシリアライズライブラリ。 [Apache2]
- Kaitai Struct - さまざまなバイナリデータ構造を記述する宣言型言語と、C++パーサーコードを生成するコンパイラー。
- iguana - C++20およびC++17で開発された、モダンで汎用的かつ使いやすいシリアライズエンジン。 [Apache2]
- MessagePack - CおよびC++向けの「JSONのような」効率的なバイナリーシリアライズ形式。 [Apache2] website
- mrpt-serialization - バイナリーまたはテキスト形式へのバージョン管理付きシリアライズ。 [BSD] website
- nanopb - ANSI C製の小さなコードサイズのProtocol Buffers実装。 [Zlib]
- protobuf - Protocol Buffers。Googleのデータ交換形式。 [BSD]
- protobuf-c - CによるProtocol Buffers実装。 [BSD]
- Protocol Puffers - C++20で記述された、小型でテンプレートを多用しprotobuf互換のヘッダーオンリー・シリアライズ/デシリアライズライブラリ。 [Apache-2.0]
- SimpleBinaryEncoding - 低レイテンシアプリケーション向けバイナリー形式でのアプリケーションメッセージのエンコード/デコード。 [Apache2]
- upb - 小型のC製protobuf実装。 [BSD]
- Wirehair - 大規模データ向けO(N)ファウンテン符号。 [BSD-3-Clause]
- YAS - 非常に高速なYet Another Serializationライブラリ。バイナリー/テキスト/JSON形式に対応。 [Boost]
- zpp_bits - 実際に最速のモダンなシリアライズライブラリです。動画をご覧ください。
- fbthrift - シリアライズライブラリとRPCフレームワークを含む、Facebook版Apache Thrift。 [Apache-2.0]
シリアルポート
Section titled “シリアルポート”- Asio - Asioには、ポータブルな方法でシリアルポートを作成・操作するクラスが含まれています。 [Boost] website
- Boost.Asio - Boost.Asioには、ポータブルな方法でシリアルポートを作成・操作するクラスが含まれています。 [Boost] website
- CSerialPort - 軽量なクロスプラットフォームシリアルポートライブラリ。 [LGPL3]
- Libserial - C++でのシリアルポートプログラミング。 [BSD-3-Clause]
- Serial Communication Library - C++で記述されたクロスプラットフォームのシリアルポートライブラリ。 [MIT] website
- cpp-sort - C++14向けソートアルゴリズムと関連ツール。 [MIT]
- pdqsort - パターンを打破するクイックソート。 [zlib]
- Timsort - 逆順または一部ソート済みデータでは、std::sortを含むクイックソート系アルゴリズムを上回る、テンプレート式の安定ソート関数。 [MIT]
- Indiesort - ランダムアクセスでないコンテナにstd::sortなどのランダムアクセスソート関数を使えるようにするラッパー。また、ランダムアクセスコンテナや配列で、大きい型または自明にコピーできない型のソート性能も向上。 [zLib] website
- x86-simd-sort - 高性能なSIMDベースのソートアルゴリズム向けC++テンプレートライブラリ。 [BSD-3-Clause]
- libvpx - VP8/VP9コーデックSDK。 [BSD]
- FFmpeg - 音声と動画の録画、変換、ストリーミングを行う完全なクロスプラットフォームソリューション。 [LGPL2/GPL2]
- avcpp - FFmpeg向けモダンC++ラッパー。 [MIT]
- libde265 - オープンH.265動画コーデック実装。 [LGPL] website
- x265 - オープンH.265動画コーデック実装。 [GPL2] website
- OpenH264 - オープンソースH.264コーデック。 [BSD] website
- Theora - 無料でオープンな動画圧縮形式。 [BSD]
- Vireo - Twitter製の軽量で多用途な動画処理ライブラリ。 [MIT]
- libuvc - USBビデオデバイス向けクロスプラットフォームライブラリ。 [BSD]
- CarpVM - C製の「興味深い」仮想マシン。今後どうなるか見てみましょう。 [GPLv3]
- MicroPython - マイクロコントローラー上でPython 3.xを実装することを目指しています。 [MIT]
- TinyVM - 純粋なANSI Cで記述された、小型で高速、軽量な仮想マシン。 [MIT]
Webアプリケーションフレームワーク
Section titled “Webアプリケーションフレームワーク”- aeronet - 性能と拡張性に重点を置いた、高性能でモジュール式のC++ HTTP/1.1、HTTP/2、WebSocketマイクロサービスフレームワーク。 [MIT]
- Civetweb - CGI、SSL、Luaをオプションでサポートする、使いやすく強力な組み込み可能C/C++ Webサーバー。 [MIT]
- C++ REST SDK - モダンな非同期C++ API設計を用いた、ネイティブコードでのクラウド型クライアント/サーバー通信を実現するMicrosoftプロジェクト。 [MIT]
- CppCMS - 無料の高性能Web開発フレームワーク(CMSではありません)。 [LGPLv3]
- Crow - PythonのFlaskに似たルーティングを使う、Webサービス実行向けC++マイクロフレームワーク。 [BSD] website
- Cutelyst - PerlのCatalystフレームワークのシンプルなアプローチを採用し、Qt上に構築されたC++ Webフレームワーク。 [BSD-3-Clause] website
- Drogon - C++17/20ベースの高性能HTTPアプリケーションフレームワーク。 [MIT]
- C++ wfrest - C++ WebフレームワークREST API。 [Apache2]
- facil.io - HTTP、WebSocket、SSEなどをサポートするイベント駆動型高性能C Webフレームワーク。 [MIT] website
- Kore - Cで開発された超高速で柔軟なWebアプリケーション向けWebサーバー/フレームワーク。 [ISC]
- libOnion - C言語でWebサーバーを作成する軽量ライブラリ。 [LGPLv3]
- lwan - 実験的でスケーラブルな高性能HTTPサーバー。 [GPL2]
- Mach - 性能、型安全性、開発者体験に重点を置いたモダンC++20 Webフレームワーク。 [MIT] website.
- oat++ - 高性能Webサービスを作成する軽量で依存関係ゼロのフレームワーク。 [Apache-2.0] website
- Pistache - 外部依存関係のない純粋なC++11で記述されたC++ RESTフレームワーク。 [Apache2]
- QDjango - Qtライブラリ上に構築されたC++ Webフレームワーク。可能な限りDjango APIに従っており、それが名前の由来です。 [LGPL]
- TreeFrog Framework - HTTPとWebSocketプロトコルおよびO/Rマッピングをサポートする、C++とQtベースの高速フルスタックWebアプリケーションフレームワーク。 [BSD] website
- userver - 効率的なマイクロサービス、サービス、ユーティリティを高速かつ快適に作成できる、豊富な抽象化とデータベースドライバーを備えた非同期C++17フレームワーク。 [Apache-2.0] website
- Wt - Webアプリケーションを開発するC++ライブラリ。 [GPL/Proprietary]
- httpserver.h - C向けシングルヘッダーHTTPサーバーライブラリ。 [MIT]
- libhttp - C/C++製のクロスプラットフォームHTTPおよびHTTPSライブラリ。 [MIT]
XMLは本当にひどい。言い訳の余地はない。人間にとって解析しにくく、コンピューターにとっても大惨事だ。あんなひどいものが存在する理由などない。 - Linus Torvalds
- Boost.PropertyTree - XML/JSON/INI/Infoファイルを解析できるプロパティツリーパーサー/ジェネレーター。 [Boost] website
- Expat - Cで記述されたXMLパーサーライブラリ。 [MIT]
- Libxml2 - GNOMEのXML Cパーサーおよびツールキット。 [MIT]
- libxml++ - C++向けXMLパーサー。 [LGPL2]
- Mini-XML - ANSI Cで記述された小型XML解析ライブラリ。 [LGPL2 with exceptions]
- PugiXML - XPathに対応した軽量でシンプルかつ高速なC++ XMLパーサー。 [MIT]
- RapidXml - 使いやすさ、ポータビリティ、妥当なW3C互換性を維持しながら、可能な限り高速なXMLパーサーを目指した実装。 [Boost]
- TinyXML - 他のプログラムに簡単に組み込める、シンプルで小型かつ最小限のC++ XMLパーサー。 [zlib]
- TinyXML2 - 他のプログラムに簡単に組み込める、シンプルで小型かつ効率的なC++ XMLパーサー。 [zlib]
- TinyXML++ - テンプレート、例外、優れたエラー処理など、C++の強みを数多く活用するTinyXMLのまったく新しいインターフェイス。 [MIT]
- Xalan C - XSLT 1.0標準に準拠したスタイルシートを使ってXMLドキュメントを変換するライブラリおよびコマンドラインプログラム。 [Apache-2.0] website
- Xerces-C++ - C++のポータブルなサブセットで記述された検証機能付きXMLパーサー。 [Apache2]
- fkYAML - C++ヘッダーオンリーYAMLライブラリ。 [MIT]
- LibCYAML - YAMLを読み書きするCライブラリ。 [ISC]
- libfyaml - YAML 1.2およびJSON向けの高機能パーサー/ライター。 [MIT]
- LibYAML - YAMLを解析・出力するCライブラリ。 [MIT] website
- mini-yaml - シングルヘッダーのYAML 1.0 C++11シリアライザー/デシリアライザー。 [MIT]
- rapidyaml - YAMLを解析・出力するC++ライブラリ。 [MIT]
- yaml-cpp - C++製YAMLパーサーおよび出力器。 [MIT]
上記のカテゴリに当てはまらない、またはまだ分類されていない便利なライブラリやツール。
- access_profiler - C++プログラムのメンバー変数へのアクセス回数を数えるツール。 [GPL3]
- American fuzzy lop(afl-fuzz) - 時間と最小限のサンプル入力を与えると、バグを自動発見する強力なファジングツール。 [Apache2]
- Argon2 - PHCで優勝したパスワードハッシュArgon2。 [CC0/Apache2]
- AsmJit - 低レイテンシの機械語生成。 [Zlib] website
- Better String - より機能的でバッファーオーバーフローの問題がない、C文字列ライブラリの代替。C++ラッパーも含みます。 [BSD, GPL2]
- Boost.Signals2 - 管理されたシグナルとスロットのシステム実装。 [Boost] website
- casacore - aips++から派生したC++コアライブラリ群。 [LGPL]
- CCTZ - タイムゾーンの規則を使って絶対時刻と市民時刻を変換するC++ライブラリ。 [Apache-2.0]
- Cheat Sheets of HackingCPP - アルゴリズム、ビュー、コンテナ、乱数などに関する便利なチートシートとインフォグラフィック。
- Concord - Cで記述されたDiscord APIラッパーライブラリ。 [MIT] website
- CPPItertools - Pythonの組み込み機能とitertoolsライブラリに着想を得た、rangeベースforループの拡張機能。 [BSD-2-Clause]
- CPP-JWT - C++向けJSON Web Tokenライブラリ。 [MIT]
- cpp-lazy - C++11/14/17/20向け高速で使いやすい遅延評価ライブラリ。 [MIT]
- CRCpp - 使いやすく高速なC++ CRCライブラリ。 [BSD-3-Clause]
- cxx-prettyprint - C++コンテナ向け整形表示ライブラリ。 [Boost]
- date - C++11/14/17の
ヘッダーを基盤とする日付・時刻ライブラリ。 [MIT] website - D++ (DPP) - Discordボットを作成するための、軽量、高性能、スケーラブルなC++ライブラリ。 [Apache2] website
- Dragonbox - C++における新しい浮動小数点数から文字列への変換アルゴリズムのリファレンス実装。 [Apache2/BSL-1.0]
- DynaMix - 実行時にオブジェクトを構成・変更できるライブラリ。 [MIT]
- emio - 安全で高速な高水準および低水準文字入出力ライブラリ。 [MIT]
- faker-cxx - テストや開発向けに、偽装しつつ現実的なデータを生成するC++20 Fakerライブラリ。 [MIT]
- fast_float - strtodより4~10倍高速な、正確で高速なC++ from_chars。GCC 12、Chromium、Redis、WebKit/Safariに採用。 [Apache2/BSL-1.0/MIT]
- FastFormat - log4jとPantheiosに着想を得た高速で安全なC++フォーマット処理。 [Simplified BSD]
- fast_io - C++20向けに入出力を大幅に高速化。 [MIT]
- fccf - ディレクトリを再帰的に検索し、検索文字列に一致するC/C++ソースコードを見つけるコマンドラインツール。 [MIT]
- ffc.h - fast_floatライブラリを移植した、シングルヘッダーのC99高速float/doubleパーサー。 [Apache-2.0/BSL-1.0/MIT]
- {fmt} :zap: - C++向けの小型で安全かつ高速なフォーマット処理ライブラリ。 [Simplified BSD] website
- gcc-poison - アプリケーションで安全でないC/C++関数を禁止するためのシンプルなヘッダーファイル。
- Gear-Lib - 組み込みおよびネットワークサービス開発向けPOSIX C基本ライブラリ集。 [MIT]
- happly - PLYファイル形式向けC++ヘッダーオンリーパーサー。PLYを楽しく解析しましょう。 [MIT]
- hedley - プラットフォーム固有の煩わしさを軽減するC/C++ヘッダーファイル。 website
- Hexi - バイナリーストリーミングとシリアライズ向けのヘッダーオンリー軽量C++ライブラリ。 [Apache-2.0/MIT]
- HighwayHash - 高速で強力なハッシュ関数:SipHash/HighwayHash。 [Apache-2.0]
- inja - モダンC++向けテンプレートエンジン。 [MIT]
- Jinja2С++ - ほぼ完全準拠のテンプレートエンジン実装。 website
- jwt-cpp - C++でJSON Web Tokenを作成・検証するヘッダーオンリーライブラリ。 [MIT]
- Kangaru - C++11およびC++14向け依存性注入コンテナ。 [MIT]
- Klib - 一般的なアルゴリズムとデータ構造の小型・軽量な実装。 [MIT]
- KOMIHASH - 非常に高速で高品質なハッシュ関数。離散的な増分入力とストリーミングハッシュに対応。 [MIT]
- libcpuid - x86 CPUの検出と機能抽出を行う小型Cライブラリ。 [BSD]
- libenvpp - 型安全な環境変数解析向けのモダンC++ライブラリ。 [Apache-2.0]
- libevil - 邪悪なライセンスマネージャー。 [GPLv3]
- libnih - 軽量なC関数および構造体のライブラリ。 [GPL2.1]
- libONVIF - またしても別のONVIFライブラリ。 [GPL-3.0]
- libpopcnt - 高速C/C++ビット人口カウントライブラリ。 [BSD-2-Clause]
- libsigc++ - 標準C++向け型安全なコールバックシステム。 [LGPL] website
- libusb - USBデバイスへポータブルにアクセスできる汎用USBライブラリ。 [LGPL2]
- Mach7 - C++向けパターンマッチングライブラリ。 [BSD]
- minja.hpp - LLMチャットテンプレート向けのミニマルなC++ Jinjaテンプレートエンジン。 [MIT]
- mio - メモリーマップトファイルI/O向けクロスプラットフォームC++11ヘッダーオンリーライブラリ。 [MIT]
- MPark.Variant - C++11/14/17向けC++17
std::variant。 [BSL-1.0] - MPH - C++20の[最小]静的完全ハッシュライブラリ。 [MIT]
- Patternia - モダンC++向けパターンマッチングを提供。 [MIT] website
- PEGTL - Parsing Expression Grammar Template Library。 [MIT]
- Pipes - C++のコレクションを表現力豊かに処理するパイプライン。 [MIT]
- pprint - モダンC++向け整形表示ツール。 [MIT]
- pspsdk - PSP自作ソフト開発向けオープンソースSDK。 [BSD/GNU GPL3]
- QtVerbalExpressions - このQtライブラリはC++ VerbalExpressionsライブラリを基にしています。 [MIT]
- rain - すべてのテストに合格し、ソースコード140行未満で実現した最速の128ビットおよび256ビット非暗号ハッシュ。 [Apache-2.0]
- RapidFuzz - Levenshtein距離を用いたC++での高速ファジー文字列照合。 [MIT] website
- rapidhash - 非常に高速で高品質、プラットフォーム非依存のハッシュアルゴリズム。 [BSD-2-Clause]
- Reaction - 効率的なデータフローアプリケーションを構築する、モダンC++20機能を活用した軽量ヘッダーオンリーのリアクティブプログラミングフレームワーク。 [MIT]
- reproc - クロスプラットフォーム(C99/C++11)プロセスライブラリ。 [MIT]
- SafetyHook - C++23手続きフックライブラリ。 [BSL-1.0]
- scnlib - モダンC++向けscanf。 [Apache-2.0] website
- Scintilla - 無料のソースコード編集コンポーネント。 [MIT]
- SDS - C向けシンプルな動的文字列ライブラリ。 [BSD]
- semver.c - ANSI Cのsemverパーサー兼レンダラー。 [MIT]
- sigslot - C++ Signal/Slotライブラリ。 [PublicDomain]
- SIMD Everywhere - ネイティブに対応していないシステム向けSIMD命令セット実装。 [MIT]
- SLJIT - プラットフォーム非依存の低レベルJITコンパイラー。 [BSD] website
- palacaze/sigslot - シンプルなC++14ヘッダーオンリーのシグナル/スロット実装。 [MIT]
- simdzone - 高速で標準準拠のDNSゾーンパーサー。 [BSD-3-Clause]
- SimpleSignal - 高性能C++11シグナル。 [PublicDomain]
- single_file_libs - 依存関係を最小限に抑えたC/C++オープンソースライブラリ。 [Various]
- Spicy - プロトコルとファイルを解析するC++パーサージェネレーター。 [BSD] website
- Stage - 移動ロボットシミュレーター。 [GPL2]
- stb :zap: - C/C++向けシングルファイルライブラリ各種。 [PublicDomain]
- stdman - cppreferenceの保存済みHTMLファイルを解析し、Unix系システム向けgroff形式のマニュアルページを生成するツール。 [MIT]
- StringZilla - 東京タワーと言う間に、大規模なテキストデータセットの分割、ソート、シャッフルをより高速に行う文字列ライブラリ界のゴジラ。 [Apache-2.0]
- StrTk - 高性能な文字列処理ルーチンを備えたC++ライブラリ。 [MIT]
- tgbotxx - Telegramボット向けC++ライブラリ。 [MIT]
- The RaBitQ Library - RaBitQアルゴリズム向け軽量ライブラリ。 [Apache-2.0] website
- tiny::optional - 不要なメモリーを消費しないstd::optional代替。 [BSL-1.0]
- Tulip Indicators - 100種類を超える金融テクニカル分析指標を備えたCライブラリ。 [LGPL]
- ub-canaries - コンパイラーに未定義動作を悪用させようとするC/C++プログラム集。
- value-category-cheatsheet - lvalue、rvalueなどに関するPDFチートシート。 [Jank copyleft]
- VarTypes - C++/Qt4で変数を管理する機能豊富なオブジェクト指向フレームワーク。 [LGPL]
- Wildcards - ワイルドカードを使ったマッチングを実装するシンプルなC++ヘッダーオンリーテンプレートライブラリ。 [BSL-1.0]
- xjb - 高速な浮動小数点数から文字列への変換アルゴリズム。 [Apache-2.0]
- xxHash - 非常に高速な非暗号ハッシュアルゴリズム。 [BSD-2-Clause] website
- xxhash_cpp - xxhashライブラリのC++17移植版。 [BSD-2-Clause]
- ZBar - 写真、画像、動画ストリーム内のバーコードをスキャンし、その値を返すバーコードスキャナーライブラリ。 [LGPL2]
- ZXing - Javaで実装され、他言語にも移植されたオープンソースのマルチフォーマット1D/2Dバーコード画像処理ライブラリ。 [Apache]
- spy - OS、コンパイラー、アーキテクチャ、SIMDをコンパイル時に検出するC++17 constexprライブラリ。 [MIT]
- licensepp - C++プロジェクト向けソフトウェアライセンス管理ライブラリ。 [Apache-2.0]
- tinydir - 軽量でポータブル、統合しやすいC製ディレクトリ/ファイルリーダー。 [BSD-2-Clause]
- Cello - 汎用データ構造やポリモーフィズムを含む、Cでの高水準プログラミング。 [BSD-2-Clause] website
- dyno - 値セマンティクスによる実行時ポリモーフィズムのC++ライブラリ。 [Boost]
- PolyHook - C++ x86/x64フックライブラリ。 [MIT]
- Verdigris - mocを必要とせずにQtを利用できるヘッダーオンリーライブラリ。 [MIT]
- Flicks - 一般的なフレームレートを正確に表現するためにFacebook/Oculusが定義した時間単位。 [BSD]
- Linq - C++のリスト内包表記にLINQ構文を提供。 [Boost]
- libcorrect - 畳み込み符号とReed-Solomon誤り訂正のCライブラリ。 [BSD-3-Clause]
- libfsm - 正規表現やglobを含む有限状態機械の構築・実行ライブラリ。 [BSD-2-Clause]
- origin - concept、診断、その他の基盤ユーティリティ向けC++ライブラリ。
ソフトウェア
Section titled “ソフトウェア”開発環境を構築するためのソフトウェア。
コンパイラー
Section titled “コンパイラー”CまたはC++コンパイラーの一覧
- 8cc - 小型Cコンパイラー。
- c - C「スクリプト」を一度にコンパイルして実行。 [MIT]
- Clang - LLVM向けCコンパイラー。C++11/14/1zおよびC11をサポート。LLVMチームが開発。 [NCSA]
- Fil-C - CおよびC++の非常に互換性が高いメモリー安全な実装。
- GCC - GNU Compiler Collection。C++11/14/1z、C11、OpenMPをサポート。 [GNU GPL3]
- PCC - 非常に古いCコンパイラー。C99をサポート。
- AMD C++ Compiler - AMDが開発。
- Intel C++ Compiler - Intelが開発。
- LLVM - モジュール式で再利用可能なコンパイラーおよびツールチェーン技術のコレクション。
- Microsoft Visual C++ - Microsoftが開発したMSVC。
- Open WatCom - Watcom C、C++、Fortranのクロスコンパイラーおよびツール。 [Sybase Open Watcom Public License]
- Oracle Solaris Studio - SPARCおよびx86向けC、C++、Fortranコンパイラー。C++11をサポート。LinuxおよびSolarisで利用可能。 [OTN Developer License]
- TCC - Tiny C Compiler。 [LGPL]
- sierra - 保守しやすいプログラムの作成に重点を置くCISC指向プログラミング言語。
- movfuscator - プログラムをmov命令のみでコンパイルする、単一命令Cコンパイラー。 [MIT]
オンラインコンパイラー
Section titled “オンラインコンパイラー”オンラインCまたはC++コンパイラーの一覧
- codechef - シンプルなオンラインコンパイラーCodeChef。
- coliru - さまざまなC++コンパイラーをサポートするオンラインコンパイラー/シェル。
- Compiler Explorer - アセンブリ出力を利用できる対話型コンパイラー。
- CompileOnline - Linux上でC++をオンラインでコンパイル・実行。
- Ideone - 60以上のプログラミング言語でソースコードのコンパイルとオンライン実行ができるオンラインコンパイラー兼デバッグツール。
- OneCompiler - 70以上のプログラミング言語とデータベースシステムをサポートするオンラインコンパイラー。
- Programiz - 学習者と開発者向けのオンラインコンパイラー。
- repl.it - 教育者、学習者、開発者向けの強力でシンプルなツールとプラットフォーム。
- Rextester - 複数のコンパイラー(Clang、GCC、MSVC)とエディターを提供するオンラインコンパイラー。
- Try It Online - TIOは、実用・娯楽向けの幅広いプログラミング言語に対応するオンラインインタープリター群です。
- Wandbox - Boostを利用できるオンラインClang/GCCコンパイラー。
- paiza.io - 複数ファイル、GitHub(gist)連携、共同編集に対応するオンラインC/C++コンパイラー。
- InterviewBit - シンプルで使いやすいオンラインC++コンパイラー。
CまたはC++デバッガーの一覧
- Comparison of debuggers - Wikiのデバッガー一覧
- GDB - GNUデバッガー。
- LLDB - LLDBデバッガー。
- Metashell - MDBメタデバッガーを含む、対話型テンプレートメタプログラミングシェル。
- Valgrind - メモリーデバッグ、メモリーリーク検出、プロファイリングのためのツール。
- x64dbg - Windows向けオープンソースx64/x32デバッガー。
統合開発環境
Section titled “統合開発環境”代表的な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 with an exception for plugins]
- Dev-C++ - ポータブルなC/C++/C++11 IDE。
- Eclipse CDT - Eclipseプラットフォームを基盤とする完全機能のC/C++ IDE。
- Embarcadero Dev-CPP - 新しいテーマとモダンなコンパイラーがあらかじめインストールされたDev-C++のフォーク。 [GPLv2] website
- Geany - 小型、高速、クロスプラットフォームのIDE。 [GPL]
- IBM VisualAge - IBM製コンピューター統合開発環境ファミリー。
- Irony-mode - libclangを活用するEmacs向けC/C++マイナーモード。
- juCi++ - libclang統合を備えたクロスプラットフォームの軽量C++ IDE。 [MIT]
- KDevelop - 無料のオープンソースIDE。
- Microsoft Visual Studio - Microsoft製IDE。
- Microsoft Visual Studio Code :zap: - Microsoft製オープンソースIDE。 [MIT] website
- NetBeans - 主にJavaをはじめ、PHP、C/C++、HTML5などの言語で開発するIDE。
- Qt Creator :zap: - Qt SDKの一部である、クロスプラットフォームC++、JavaScript、QML IDE。 [GPL3 with exceptions] website
- rtags - clangを基盤とし、Emacsとの連携を備えたC/C++クライアント/サーバー型インデクサー。
- Xcode - Appleが開発。
- YouCompleteMe - Vim向けの高速な入力中ファジー検索コード補完エンジン。
- C Playground - Online C Programming IDE - オンラインでCコードを書き、編集し、実行してCプログラミングを練習できるIDE。
ビルドシステム
Section titled “ビルドシステム”- awesome-cmake - 優れたCMakeスクリプト、モジュール、リソースを厳選した一覧。
- Bazel - Google製の多言語対応、高速かつスケーラブルなビルドシステム。 [Apache]
- Bear - clangツール向けコンパイルデータベースを生成するツール。 [GPLv3]
- Buck - Facebookで開発・利用されている、C++を含む多様なプラットフォームと言語で小さく再利用可能なモジュール作成を促す高速ビルドシステム。Javaで記述。 [Apache]
- build2 - C/C++プロジェクトの開発とパッケージ化向けクロスプラットフォームのビルド、パッケージ、依存関係管理ツールチェーン。 [MIT]
- Ccache - 高速なC/C++コンパイラーキャッシュ。 [GPLv3]
- clib - Cプログラミング言語向けパッケージマネージャー。 [MIT]
- CMake - コンパイラーに依存しない方法でソフトウェアのビルド処理を管理するクロスプラットフォームの無料オープンソースソフトウェア。 [BSD]
- Cget - CMakeパッケージの取得。 [Boost] website
- Conan - オープンソースのC/C++パッケージマネージャー。 [MIT]
- CPM - CMakeとGitを基盤とするC++パッケージマネージャー。
- FASTBuild - 高度にスケーラブルなコンパイル、キャッシュ、ネットワーク配布に対応する高性能オープンソースビルドシステム。
- Hunter - CMake駆動のクロスプラットフォームC++パッケージマネージャー。 [BSD-2]
- MesonBuild - 極めて高速であること、そして何より可能な限りユーザーフレンドリーであることを目指すオープンソースビルドシステム。
- Ninja - 速度を重視した小型ビルドシステム。
- Sccache - クロスプラットフォーム対応とクラウドバックアップストレージの選択肢を備えた高速C/C++コンパイラーキャッシュ。
- Scons - Pythonスクリプトで設定するソフトウェア構築ツール。
- Sconsolidator - Eclipse CDT向けSConsビルドシステム統合。
- Spack - 複数バージョン、設定、プラットフォーム、コンパイラーをサポートする柔軟なパッケージマネージャー。 [Apache-2.0/MIT]
- SW - 多数のパッケージを利用できる、クロスプラットフォームC++(およびその他の言語)ビルドシステム兼パッケージマネージャー。 [GPLv3]
- tundra - 非常に大規模なソフトウェアプロジェクトでも最適なインクリメンタルビルド時間を実現する高性能コードビルドシステム。
- tup - 変更ファイルをバックグラウンドで監視するファイルベースのビルドシステム。
- Premake - Luaスクリプトで設定し、Windows、Mac OS X、LinuxでVisual Studio、GNU Make、Xcode、Code::Blocksなどのプロジェクトファイルを生成するツール。
- Vcpkg - Windows、Linux、macOS向けC++ライブラリマネージャー。 [MIT]
- waf - アプリケーションの設定、コンパイル、インストールを行うPythonベースのフレームワーク。 [BSD] website
- XMake - 統合パッケージマネージャーxrepoを備えた、LuaベースのC/C++クロスプラットフォームビルドユーティリティ。 [Apache]
- boost-cmake - Boostライブラリ向けCMakeモジュール。 [BSD-3-Clause]
- cmake-examples - さまざまな用途に役立つCMakeの例集。 [MIT]
静的コード解析
Section titled “静的コード解析”コード解析で品質を高め、欠陥を減らすツールの一覧
- Cppcheck - 静的C/C++コード解析ツール。 source
- CppDepend - コード依存関係の解析・可視化、設計ルールの定義、影響分析、異なるコードバージョンの比較により、複雑なC/C++コードベースの管理を簡素化。
- cpplint - GoogleのC++スタイルガイドに従うC++スタイルチェッカー。
- PVS-Studio - C、C++、C#で記述されたプログラムのソースコードからバグを検出するツール。
- cpp-dependencies - C++ #include依存関係を確認するツール(依存関係グラフを.dot形式で作成)。 [Apache]
- include-what-you-use - C/C++ソースファイルのincludeを解析するclang用ツール。 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 - Wikipediaにある静的コード解析ツール一覧。
- OptView2 - 見逃されたClang最適化を調査。
- Trunk - コードを確認、テスト、マージ、監視するツールキット。
- CodeCompass - 大規模C/C++プロジェクト向けオープンソースコード理解ツール。 [GPL-3.0]
- CodeChecker - Clang Static AnalyzerおよびClang-Tidy向けの解析ツール、欠陥データベース、ビューアー拡張。 [Apache-2.0]
コーディングスタイルツール
Section titled “コーディングスタイルツール”- Artistic Style - C/C++/C#/Obj-C/Javaコードを整形するツール。astyleとも呼ばれます。
- ClangFormat - C/C++/Obj-Cコードを整形するツール。
- Clang-Tidy - ClangベースのC++リンターツール。
- EditorConfig - さまざまなエディターやIDE間で一貫したコーディングスタイルを保つのに役立ちます。
- Uncrustify - コード整形ツール。
C++開発スキルや知識を高めるための書籍、Webサイト、記事など、さまざまなリソース。
素晴らしいC++関連の記事。
- CppCon 2023 Presentation Materials - CppCon 2023のプレゼンテーション資料。
- CppCon 2022 Presentation Materials - CppCon 2022のプレゼンテーション資料。
- CppCon 2021 Presentation Materials - CppCon 2021のプレゼンテーション資料。
- CppCon 2020 Presentation Materials - CppCon 2020のプレゼンテーション資料。
- CppCon 2019 Presentation Materials - CppCon 2019のプレゼンテーション資料。
- CppCon 2018 Presentation Materials - CppCon 2018のプレゼンテーション資料。
- CppCon 2017 Presentation Materials - CppCon 2017のプレゼンテーション資料。
- CppCon 2016 Presentation Materials - CppCon 2016のプレゼンテーション資料。
- CppCon 2015 Presentation Materials - CppCon 2015のプレゼンテーション資料。
- CppCon 2014 Presentation Materials - CppCon 2014のプレゼンテーション資料。
- C++Now 2023 Presentations - C++Now 2023で発表されたプレゼンテーション資料。
- C++Now 2022 Presentations - C++Now 2022で発表されたプレゼンテーション資料。
- C++Now 2021 Presentations - C++Now 2021で発表されたプレゼンテーション資料。
- C++Now 2019 Presentations - C++Now 2019で発表されたプレゼンテーション資料。
- C++Now 2018 Presentations - C++Now 2018で発表されたプレゼンテーション資料。
- C++Now 2017 Presentations - C++Now 2017で発表されたプレゼンテーション資料。
- C++Now 2016 Presentations - C++Now 2016で発表されたプレゼンテーション資料。
- C++Now 2015 Presentations - C++Now 2015で発表されたプレゼンテーション資料。
- C++Now 2014 Presentations - C++Now 2014で発表されたプレゼンテーション資料。
- C++Now 2013 Presentations - C++Now 2013で発表されたプレゼンテーション資料。
- C++Now 2012 Presentations - C++Now 2012で発表されたプレゼンテーション資料。
- cpp17_in_TTs - 主に「Tony Tables」で提示するC++17機能の説明。
- All C++20 core language features with examples - すべてのC++20コア言語機能を例とともにまとめたリファレンス。
- Memory Footprint of GUI Toolkits - さまざまなGUIツールキットのメモリーフットプリントを比較。
- C++ UI Libraries - C++ UIソリューションの包括的な一覧。
- C++ Compilation - C++コンパイルプロセスの簡潔な説明。
- Books on C++17 - C++17書籍の一覧。
- modern-cpp-features - モダンC++の言語およびライブラリ機能のチートシート。
- Choosing Some C++ Over C - Cの代わりにC++を使う場面に関する記事。
- C++ 17 Features - C++17機能の包括的な一覧。
- Master C Programming with Open Source Books - Cプログラミング学習向けオープンソース書籍を厳選した一覧。
素晴らしいC/C++関連書籍。
- List of Free C or C++ Books
- Free C Books - vhf/free-programming-books/C。
- Free C++ Books - vhf/free-programming-books/C++。
- Practical Guide to Bare Metal C++
- cppbestpractices - C++ベストプラクティスの共同コレクション。
コーディング標準
Section titled “コーディング標準”コーディングスタイル
Section titled “コーディングスタイル”- C++ Core Guidelines - C++の作者がレビューした「公式」C++ガイドライン。
- C++ Dos and Don’ts - The Chromium Projects > 開発者向け > コーディングスタイル > C++のすべきこと・すべきでないこと。
- google-styleguide - Google発のオープンソースプロジェクト向けスタイルガイド。
- Google C++ Style Guide
- GNU Coding Standard
- Linux kernel coding style
- LLVM Coding Standards
ポッドキャスト
Section titled “ポッドキャスト”- C++ Conferences - C++カンファレンスのカタログ。
- CppCon Talks :zap: - C++カンファレンス。
- Quick game development with C++11/C++14 - Vittorio RomeoによるCppCon 2014講演。
- Presentation on Hana for C++Now 2015
- Meeting Cpp - Meeting C++のYouTubeチャンネル。
素晴らしいC/C++関連動画。
- List of C or C++ YouTube Videos
- Awesome C Programming Tutorials in Hi Def [HD] - 初心者や新しいプログラマー向けCプログラミング言語の詳細チュートリアル集。
- C++ - VoidRealmsによる。
- C++ Qt Programming - VoidRealmsによる。
- C++ Programming Tutorials Playlist - TheNewBoston公式Buckys C++プログラミングチュートリアル再生リスト。
- C++ Programming Tutorials from thenewboston - thenewbostonによるC++プログラミングチュートリアルをすべて収録。
- C++ GUI with Qt Playlist - thenewbostonによるC++ GUI with Qtチュートリアルの公式再生リスト。
- Caleb Curry’s C Programming Tutorials - Cプログラミングチュートリアルをすべてまとめた再生リスト。
- C Programming Tutorials - TheNewBostonのCプログラミングチュートリアルはすべてここにあります。
- Bo Qian’s playlist - Boostライブラリ、C++標準ライブラリ、モダンC++、上級C++、上級STLなど。
- The Cherno’s C++ Playlist - The Chernoによる幅広いC++チュートリアルシリーズ。
- Code for Yourself C++ Playlist - 基礎からソフトウェア設計までを網羅する完全なC++コース。
Webサイト
Section titled “Webサイト”C/C++関連の便利なWebサイト。
- Standard C++ :zap: - 標準C++に関するニュース、状況、議論。
- Build Bench - C++ビルドを比較。
- Quick Bench - 手軽なC++ベンチマーク。
- CppCon - C++カンファレンス。
- C++ reference - CおよびC++言語と標準ライブラリの完全なオンラインリファレンス。
- cppstat - C++機能とコンパイラー/標準ライブラリ実装の対応状況を分かりやすく一覧にしたサイト。
- C++ by Example - 例を通してC++を学習。
- cplusplus.com - C++リソースネットワーク。
- C FAQ - Cに関するよくある質問。
- C++ FAQ - C++に関するよくある質問。
- C++ FQA Lite - C++でよく問われる質問への回答。
- C++ Quiz - C++の知識を試せるシンプルなオンラインクイズ。
- Guru of the Week - Herb Sutterが作成・執筆する定期的なC++プログラミング問題シリーズ。
- Meeting C++
- PVS-Studio’s challenge - オープンソースプロジェクトのコード断片からエラーを見つけるPVS-StudioのC++クイズ。
- Udemy C++ Courses and Tutorials
- C++ Hints - PVS-Studioチームが、よくあるC++の間違いと解決方法について毎営業日にヒントを提供。
- C++ tutorial - 複数のC++学習コースを掲載する、ユーザー評価型のオンラインチュートリアル集サイト。
- C++ Tutorial for Beginners - 訓練を受けた専門家が厳選したC++包括チュートリアル。
- C++ for yourself - 基礎からソフトウェア設計まで、モダンC++のすべてを網羅する包括的チュートリアル。
- CompileBytes C++ Compiler – Online C++ compiler and interactive code execution environment.
- C++ Resources - 書籍、記事、ツールなどC++リソースのコレクション。
- CppPatterns - モダンC++のパターンとイディオムを集めたリポジトリ。 website
- Function Pointers - C/C++の関数ポインターを理解するためのガイド。
C/C++関連の便利なWebログ。
- Coding For Speed - Coding For Speed DOT COM。実行時間を短縮。
- Eric Niebler
- Sticky Bits
- Paul Fultz II’s Blog
- ridiculousfish - 最適化されるだろうか?
- Embedded in Academia
- Simplify C++
- Fluent C++
- Bartek’s Coding Blog
- Kenny Kerr
- Sutter’s Mill
- Vorbrodt’s C++ Blog
- foonathan::blog()
- C++ Team Blog - Microsoft Visual C++チームの開発者ブログ。
その他の素晴らしいプロジェクト
Section titled “その他の素晴らしいプロジェクト”便利なコード、スニペットなどのコレクション。
- algorithms - C++のアルゴリズムとデータ構造。
- c-algorithms - Cアルゴリズムライブラリ。
- 30 Seconds of C++
- awesome-ld-preload - LD_PRELOAD関連リソースを厳選した一覧。
- awesome-static-analysis - あらゆるプログラミング言語向け静的解析ツールを厳選した一覧。
- cpp_functional_programming - C++関数型プログラミング向け資料とリンクの一覧。
- algorithms_and_data_structures - C++でのアルゴリズムとデータ構造の実装。
その他の素晴らしいリスト
Section titled “その他の素晴らしいリスト”その他の素晴らしいリスト
- lists - GitHub上で厳選された(素晴らしい)リストの一覧。
- awesome-awesomeness - 素晴らしく素晴らしいものを厳選した一覧。
- awesome :zap: - 素晴らしいリストを厳選した一覧。
- C++ links - カテゴリ別C++リソース一覧。
- Awesome C++ - LibHuntのミラー。
- Awesome C 1
- Awesome C 2
- Awesome Modern C++ - モダンC++リソースのコレクション。
- AwesomePerfCpp - C/C++性能最適化リソースを厳選した一覧。
- free-programming-books - 無料で入手できるプログラミング書籍一覧。
- Inqlude - Qtライブラリアーカイブ。
- papers-we-love - コンピューターサイエンスコミュニティの論文を読んで議論するための一覧。
- awesome-algorithms - アルゴリズムを学習・練習できる素晴らしい場所を厳選した一覧。
- awesome-hpp - 素晴らしいC++ヘッダーオンリーライブラリを厳選した一覧。
- awesome-talks - 多数のスクリーンキャスト、ユーザーグループ会合やカンファレンスの録画。
- Projects - どのプログラミング言語でも解決できる実践的なプロジェクトの一覧。
- Awesome interview questions - CおよびC++を含む、人気技術に関する面接質問リスト集。
- nothings/single_file_libs :zap: - シングルファイルC/C++ライブラリ一覧。
- この一覧は現在空です。マージリクエストを作成して追加できます。
- このリポジトリへのスポンサーに関心がある場合は、ご連絡ください。会社名とロゴを目立つ形で掲載します。
詳細は貢献ガイドラインをご覧ください。 コントリビューターの皆さんに感謝します。最高です!
この一覧にあるプロジェクトやリンクが保守されていない、または適切でない場合は、プルリクエストを送ってこの文書の改善にご協力ください。ありがとうございます!
Section titled “この一覧にあるプロジェクトやリンクが保守されていない、または適切でない場合は、プルリクエストを送ってこの文書の改善にご協力ください。ありがとうございます!”HagiCode
HagiCode はエージェント型コーディングワークスペースです。豊富で便利な UI インタラクションにより、計画・エージェント実行・プロジェクト作業を始めやすく、進めやすくし、開発をより魅力的な体験にします。
豊富で便利な UI インタラクションで、計画からプロジェクト作業までを分かりやすく進められます。
- スマートOpenSpec ワークフローが意図を、提案・設計・タスクから変更のリリースまで実行可能な道筋にします。
- 効率的マルチエージェント実行で調査・実装・レビューを並行して進め、複数リポジトリや使い慣れた Agent CLI にも対応します。
- 興味深い豊富で便利な UI インタラクションにより、計画・エージェント実行・プロジェクト作業を始めやすく、進めやすくします。
Windows 版をダウンロード
HagiCode を共有
アイデアを、出荷できるソフトウェアへ。
HagiCode はエージェント型コーディングワークスペースです。OpenSpec ワークフローで変更を計画し、マルチエージェント実行で進め、Hero Scenario で長い作業の進み具合を見える化して、アイデアを出荷できるソフトウェアにします。
- スマート
- OpenSpec ワークフローが、意図を提案からリリースまでの実行可能な道筋にします。
- 効率的
- マルチエージェント実行で、調査・実装・レビューを並行して進めます。
- 楽しい
- 使いやすい UI で、計画・Agent 実行・プロジェクト作業を進めやすくします。
© 2026 HagiCode | Powered By hagilight-starlight@0.21.0 | Branch: main | Commit: 745b50b | Built:

