2021年最新まとめ、おすすめc/c++オープンソースフレームワーク・ライブラリ。継続的に更新されます。
フレーム
Apache C++ 標準ライブラリ: アルゴリズム、コンテナ、イテレータ、その他の基本コンポーネントのコレクションです。
ASL: Adobe Source Code Library は、ピアレビュー済みの移植可能な C++ ソース コード ライブラリを提供します。
Boost: 汎用 C++ ライブラリの大規模なコレクション。
BDE: Bloomberg Information Labs の開発環境。
Cinder: プロ品質のクリエイティブなコーディングを提供するオープンソース開発コミュニティ。
Bxxomfort: C++11 の新機能の一部を C++03 に移植する軽量のヘッダーのみのライブラリ。
Dlib: コントラクト プログラミングと最新の C++ テクノロジを使用して設計されたユニバーサル クロスプラットフォーム C++ ライブラリ。
EASTL: EA-STL 公開部分
ffead-cpp: エンタープライズ アプリケーション開発フレームワーク
Folly: Facebook によって開発および使用されているオープン ソース C++ ライブラリ。
JUCE: クロスプラットフォーム ソフトウェアを開発するための包括的な C++ ライブラリ
libphenom: 高性能で拡張性の高いシステムを構築するためのイベント フレームワーク。
LibSourcey: リアルタイム ビデオ ストリーミングおよび高性能ネットワーク アプリケーション用の C++11 イベント IO
LibU: C言語で書かれたマルチプラットフォームツールライブラリ
Loki: 一般的な設計パターンとイディオムの実装を含む、C++ ライブラリの設計。
MiLi: ヘッダーのみの小さな C++ ライブラリ
openFrameworks: クリエイティブなコーディングのための C++ ツールキットを開発します。
Qt: クロスプラットフォーム アプリケーションおよびユーザー インターフェイス フレームワーク
理由: 開発者が Java、.Net、Python を簡単に使用できるようにすると同時に、C++ のパフォーマンスと利点に対するニーズも満たすクロスプラットフォーム フレームワークです。
ROOT: CERN によって使用される、大量のデータを非常に効率的に処理および分析するためのすべての機能を備えたオブジェクト指向フレームワークのセット。
STLport: STL の代表的なバージョンです。
STXXL: 追加の大規模データセット用の標準テンプレートライブラリ。
Ultimate++: C++ クロスプラットフォームの高速アプリケーション開発フレームワーク
Windows テンプレート ライブラリ : Windows アプリケーションおよび UI コンポーネントを開発するための C++ ライブラリ
Yomm11: C++11 のマルチメソッドを開きます。
非同期イベントループ
Boost.Asio: ネットワークおよび低レベル I/O プログラミング用のクロスプラットフォーム C++ ライブラリ。
libev: フル機能の高性能タイム ループ。 libevent をわずかにモデル化していますが、libevent と同じ制限はなくなり、バグの一部が修正されました。
libevent: イベント通知ライブラリ
libuv: クロスプラットフォームの非同期 I/O。
libco: コルーチン、オンラインで同時に 8 億人のユーザーをサポートする WeChat の基礎となる IO ライブラリ。強力な
ntyco: コルーチン フレームワークの純粋な C バージョン。コードは短く簡潔で、組み込みプロジェクトに適しています。
libgo: Golang スタイルの同時実行フレームワーク、C++11 実装コルーチン ライブラリ
ネットワークライブラリ
ACE: C++ オブジェクト指向ネットワーキング ツールキット
カサブランカ: C++ REST SDK
cpp-netlib: 高度なネットワーク プログラミングのためのオープン ソース ライブラリのコレクション
Dyad.c: C での非同期ネットワーキング
libCurl: マルチプロトコルファイル転送ライブラリ
Mongoose: 非常に軽量な Web サーバー
Muduo: Linux マルチスレッド サーバー用の C++ ノンブロッキング ネットワーク ライブラリ
net_skeleton: C/C++ 用の TCP クライアント/サーバー ライブラリ
WAFer: スケーラブルなサーバーサイドおよび Web アプリケーション用の超軽量 C ベース ソフトウェア プラットフォーム。 C プログラマーの場合は、node.js を検討してください。
Onion: C 言語の HTTP サーバー ライブラリ。軽量で使いやすいように設計されています。
POCO: デスクトップ、サーバー、モバイル、および組み込みシステム上で実行できるネットワークおよびインターネット ベースのアプリケーションを構築するための C++ クラス ライブラリ。
RakNet: ゲーム開発者向けのクロスプラットフォームのオープンソース C++ ネットワーク エンジン。
Tufao: Qt の上に C++ で構築された非同期 Web フレームワーク。
WebSocket++: C++/Boost Aiso に基づく WebSocket クライアント/サーバー ライブラリ
ZeroMQ: 高速モジュール型非同期通信ライブラリ
TCP/IPプロトコルスタック
f-stack: Tencent のオープンソース プロトコル スタック、DPDK に基づく高性能のユーザー モード プロトコル スタック。
NtyTcp: ネットマップ、DPDK、rawSocket 実装に基づくシングルスレッド プロトコル スタック。
LWIP: RAM プラットフォーム用の TCP/IP プロトコル スタック実装の合理化されたバージョン。
mTCP: マルチコア システム用の拡張性の高いユーザー空間 TCP/IP プロトコル スタック。
4.4BSD: * nix プロトコル スタックは 4.4BSD から派生しています。
WEBアプリケーションフレームワーク
Nginx: IMAP/POP3/SMTP サービスも提供する高性能 HTTP およびリバース プロキシ Web サーバー。
Lighttpd: 安全かつ高速で、業界標準に準拠し、適応性が高く、高構成環境向けに最適化されたオープン ソース Web サーバー ソフトウェアです。
Libmicrohttpd: GNU ソフトウェアの単純な C ライブラリ Web サーバー。 API はシンプルかつ高速です。
shttpd: Mongoose ベースの Web サーバー フレームワーク。
CivetWeb: オプションの CGI、SSL、Lua サポートを備えた、使いやすく強力な C/C++ 組み込み Web サーバーを提供します。
CppCMS: 無料の高性能 Web 開発フレームワーク (CMS ではありません)。
Crow: C++ マイクロ Web フレームワーク (Python Flask からインスピレーションを得た)
Kore: C で開発された Web アプリケーション用の超高速で柔軟な Web サーバー/フレームワーク。
libOnion: C プログラミング言語を使用して Web サーバーを作成するのに役立つ軽量ライブラリ。
QDjango: C++ で書かれ、Qt ライブラリに基づいた Web フレームワークで、Django API をエミュレートしようとするため、この名前が付けられました。
Wt: Web アプリケーションを開発するための C++ ライブラリ。
標準ライブラリ、アルゴリズム、関数
C++ 標準ライブラリ: コア言語で記述されたクラスと関数のコレクションであり、C++ ISO 標準自体の一部です。
標準テンプレート ライブラリ: 標準テンプレート ライブラリ、STL
C POSIX ライブラリ: POSIX システム用の C 標準ライブラリ仕様
ISO C++ 標準委員会 : C++ 標準委員会
オーディオライブラリ
FMOD: 使いやすいクロスプラットフォーム オーディオ エンジンおよびオーディオ コンテンツ ゲーム作成ツール。
Maximilian: C++ オーディオおよび音楽デジタル信号処理ライブラリ
OpenAL: オープンソース オーディオ ライブラリ - クロスプラットフォーム オーディオ API
Opus: 完全にオープンでロイヤリティフリーの非常に汎用性の高いオーディオ コーデック
Speex: 無料のコーデック、Opus によって非推奨
Tonic: C++ による使いやすく効率的なオーディオ合成
Vorbis: Ogg Vorbis は、完全にオープンで、非独自の、ロイヤリティフリーのユニバーサル圧縮オーディオ形式です。
生態学
lisequence : 集団遺伝学データを表現および分析するための C++ ライブラリ。
SeqAn: 生物学的データの配列分析のためのアルゴリズムとデータ構造に焦点を当てています。
Vcflib: VCF ファイルを解析および処理するための C++ ライブラリ
Wham: BAM ファイル内の遺伝的構造バリアントに関連性テストを直接適用します。
圧縮
bzip2 : 完全に無料、特許不要の高品質のデータ圧縮
doboz: 高速解凍用の圧縮ライブラリ
PhysicsFS: さまざまなアーカイブへの抽象的なアクセスを提供するライブラリ。主にビデオ ゲームで使用されます。設計の一部は Quake3 のファイル サブシステムからインスピレーションを受けています。
KArchive: ファイル アーカイブ (zip や tar など) を作成、読み取り、書き込み、操作するためのライブラリ。QIODevice の一連のサブクラスを通じて、gzip 形式を使用したデータの透過的な圧縮と解凍を提供します。
LZ4: 非常に高速な圧縮アルゴリズム
LZHAM: 可逆圧縮データベース。圧縮率は LZMA に近いですが、解凍速度ははるかに高速です。
LZMA: 7z 形式のデフォルトの一般的な圧縮方法。
LZMAT: およびその高速リアルタイム可逆データ圧縮ライブラリ
miniz: 単一の C ソース ファイル、圧縮/展開圧縮ライブラリ、zlib 互換 API を使用、ZIP アーカイブの読み書き、PNG 書き込み方式。
Minizip: Zlib の最新のバグ修正。PKWARE ディスク スパンニング、AES 暗号化、および IO バッファリングをサポートします。
Snappy: 高速な圧縮と解凍
ZLib: 非常にコンパクトなデータ ストリーム圧縮ライブラリ
ZZIPlib: ZIP アーカイブへの読み取りアクセスを提供します。
同時実行性
Boost.Compute: OpenCL 用の C++ GPU コンピューティング ライブラリ
Bolt: GPU 用に最適化された C++ テンプレート ライブラリ
C++React: C++11 用のリアクティブ プログラミング ライブラリ
Intel TBB: インテル スレッディング ビルディング ブロック
Libclsph: OpenCL に基づく GPU アクセラレーション SPH 流体シミュレーション ライブラリ
OpenCL: 異種システムの並列プログラミングのためのオープン標準
OpenMP: OpenMP API
Thrust: C++ 標準テンプレート ライブラリに似た並列アルゴリズム ライブラリ
HPX: あらゆる規模の並列および分散アプリケーションに対応するユニバーサル C++ ランタイム システム
VexCL: OpenCL/CUDA 用の C++ ベクトル式テンプレート ライブラリ。
暗号化
Bcrypt: クロスプラットフォームのファイル暗号化ツール。暗号化されたファイルは、サポートされているすべてのオペレーティング システムおよびプロセッサに移植できます。
BeeCrypt: 強力な機能と便利なインターフェイスを備えた高速暗号化グラフィック ライブラリ。
Botan: C++ 暗号化ライブラリ
Crypto++ : 暗号化スキーム用の無料の C++ ライブラリ
GnuPG: OpenPGP 標準の完全な実装
GnuTLS: SSL、TLS、DTLS プロトコルを実装する安全な通信ライブラリ
Libgcrypt: GnuPG ベースの暗号化グラフィック ライブラリ。
Libmcrypt: スレッドセーフで、統合された API を提供します。
LibreSSL: 無料の SSL/TLS プロトコル、2014 OpenSSL のフォーク
LibTomCrypt: 非常に包括的でモジュール式のポータブルな暗号化ツール
libsodium: 意見がまとまっていて使いやすい、NaCI ベースの暗号化ライブラリ
Nettle: 基盤となる暗号化ライブラリ
OpenSSL: 強力な商用のフル機能のオープンソース暗号化ライブラリ。
C の小型 AES128: C で実装された AES128ESB 暗号化アルゴリズムの小型でポータブルな実装
データベース
hiberlite: Sqlite3 の C++ オブジェクト リレーショナル マッピング
recruitis : Redis データベース用の非常にシンプルな C クライアント ライブラリ
LevelDB: 高速なキーと値のストア
LMDB: データベースの 4 つの基本要素に準拠する埋め込みキー/値ストア
MySQL++ : MySql の C API をカプセル化する C++ ラッパー
RocksDB: Facebook からの埋め込み Key-Value の高速ストレージ
SQLite : わずか数百 KB でプロジェクトに正しく組み込むことができる、完全に埋め込まれたフル機能のリレーショナル データベースです。
Redis: ANSI C 言語で書かれたオープン ソースのログ タイプの Key-Value データベース。BSD プロトコルに準拠し、ネットワークをサポートし、メモリベースで永続化できます。
MongoDB: 分散ファイルストレージに基づくデータベース
デバッグ
Boost.Test: ブースト テスト ライブラリ
Catch: 非常にスタイリッシュな C++ ネイティブ フレームワークで、単体テスト、テスト駆動開発、および動作駆動開発用のヘッダー ファイルのみが含まれています。
CppUnit: JUnit から移植された C++ テスト フレームワーク
CTest: CMake テスト ドライバー
GoogleTest: Google C++ テスト フレームワーク
ig-debugheap: メモリ エラーを追跡するためのマルチプラットフォーム デバッグ ヒープ
libtap: C でテストを作成する
MemTrack: C++ でのメモリ割り当ての追跡用
MicroProfile: クロスプラットフォームのネットワーク試行プロファイラー
minUnit: C で書かれた、2 つのマクロのみを使用するミニ単体テスト フレームワーク
Remotery: Web ビュー用の単一の C ファイル パーサー
UnitTest++: 軽量の C++ 単体テスト フレームワーク
容器
C++ B ツリー: B ツリー データ構造に基づいてコマンド メモリ コンテナを実装するテンプレート ライブラリ
ハッシュマップ: C++ でのオープン アドレス指定ハッシュ テーブル アルゴリズムの実装
ゲームエンジン
Cocos2d-x: 2D ゲーム、インタラクティブな書籍、プレゼンテーション、その他のグラフィック アプリケーションを構築するためのクロスプラットフォーム フレームワーク。
Grit: オープンワールド 3D ゲーム用の無料ゲーム エンジンを構築するコミュニティ プロジェクト。
lrrlicht: C++ 言語で書かれたオープンソースの高性能リアルタイム #D エンジン
PolyCode: C++ で実装されたゲームを作成するためのオープン ソース フレームワーク (Lua にバンドルされている)。
グラフィックスライブラリ
bgfx: クロスプラットフォーム レンダリング ライブラリ
Cairo: 複数の出力デバイスをサポートする 2D グラフィックス ライブラリ
Horde3D: 小型の 3D レンダリングおよびアニメーション エンジン
magnum: C++11 および OpenGL 2D/3D グラフィックス エンジン
Ogre 3D: C++ で書かれたシーン指向のリアルタイムで柔軟な 3D レンダリング エンジン (ゲーム エンジンではありません)
OpenSceneGraph: 高性能オープンソース 3D グラフィックス ツールキット
Panda3D: Python と C++ で書かれた 3D レンダリングとゲーム開発用のフレームワーク。
Skia: テキスト、グラフィック、画像を描画するための完全な 2D グラフィック ライブラリ
urho3d: クロスプラットフォーム レンダリングおよびゲーム エンジン。
画像処理
Boost.GIL: 一般的な画像ライブラリ
CImg: 画像処理用の小規模なオープンソース C++ ツールキット
FreeImage: 一般的な画像形式および今日のマルチメディア アプリケーションに必要なその他の形式をサポートするオープン ソース ライブラリ。
GDCM: 草の根DICOMライブラリ
ITK: クロスプラットフォームのオープンソース画像解析システム
Magick++: ImageMagick プログラムへの C++ インターフェイス
OpenCV: オープンソースのコンピュータ ビジョン ライブラリ
tesseract-ocr: OCR エンジン
VIGRA: 画像解析用の汎用 C++ コンピューター ビジョン ライブラリ
VTK: 3D コンピュータ グラフィックス、画像処理、視覚化のためのオープンソースのフリー ソフトウェア システム。
国際化
gettext : GNU gettext
IBM ICU: Unicode とグローバリゼーションのサポートを提供する C、C++、および Java ライブラリ
libiconv: 異なる文字エンコーディング間のエンコーディング変換ライブラリ
Jsonライブラリ
凍結: C/C++ 用の Jason 解析ジェネレーター
Jansson: Jason データをエンコード、デコード、処理するための C 言語ライブラリ
jbson: C++14 で BSON データと Json ドキュメントを構築および反復するためのライブラリ
JeayeSON: ヘッダー ファイルのみを含む非常に堅牢な C++ JSON ライブラリ
JSON++ : C++ JSON パーサー
json-parser : メモリ使用量が非常に少ないポータブルな ANSI C で書かれた JSON パーサー
json11 : ミニ C++11 JSON ライブラリ
jute : 非常にシンプルな C++ JSON パーサー
ibjson: C の JSON 解析および出力ライブラリ。あらゆるモデルと簡単に統合できます。
libjson: 軽量の JSON ライブラリ
PicoJSON: C++ での JSON 解析とシリアル化 (ヘッダー ファイルのみを含む)
Qt-Json: JSON データと QVariant 階層の間で解析するための単純なクラス
QJson : JSON データを QVariant オブジェクトにマッピングするための Qt ベースのライブラリ
RepidJSON: SAX および DOM スタイルの API を含む、C++ 用の高速 JSON 解析ジェネレーター
YAJL: C 言語の高速ストリーミング JSON 解析ライブラリ
ログ
Boost.Log: 非常にモジュール化され拡張可能になるように設計されています
easyloggingpp: 単一のヘッダー ファイルのみを含む C++ ロギング ライブラリ。
Log4cpp: ファイル、システム ログ、IDSA、その他の場所にログを柔軟に追加する一連の C++ ライブラリ。
templog : C++ アプリケーションにログ記録を追加できる軽量の C++ ライブラリ
機械学習、人工知能
btsk: ゲームビヘイビアーツリーランチャーツール
進化するオブジェクト: 独自の確率的最適化アルゴリズムを非常に迅速に作成するのに役立つ、テンプレート ベースの ANSI C++ 進化的コンピューティング ライブラリ。
Caffe: 高速ニューラル ネットワーク フレームワーク
CCV: C 言語を中心とした最新のコンピュータ ビジョン ライブラリ
mlpack: 拡張可能な C++ 機械学習ライブラリ
OpenCV: オープンソースのコンピュータ ビジョン ライブラリ
Recommender: 協調フィルタリングを使用した製品の推奨/提案のための C 言語ライブラリ。
SHOGUN: ショーグン機械学習ツール
sofia-ml: 機械学習用の高速増分アルゴリズムのスイート
数学図書館
Armadillo: 速度と使いやすさのバランスが取れた高品質の C++ 線形代数ライブラリ。構文は MatlAB に非常に似ています
blaze: 密および疎アルゴリズム用の高性能 C++ 数学ライブラリ。
ceres-solver: 大規模で複雑な非線形最小二乗問題をモデリングおよび解決するための Google の C++ ライブラリ。
CGal: 効率的で信頼性の高い集合アルゴリズムのコレクション
CML: ゲームとグラフィックス用の無料の C++ 数学ライブラリ
Eigen: 線形代数、行列、ベクトル演算、数値解法、およびその他の関連アルゴリズムをカバーする高レベルの C++ テンプレート ヘッダー ライブラリ。
GMTL: Mathematical Graphics Template Library は、基本的なグラフィックスを広範囲に実装するためのツールのセットです。
GMP: 高精度計算用の C/C++ ライブラリ。符号付き整数、有理数、浮動小数点数を処理します。
マルチメディアライブラリ
GStreamer: メディア処理コンポーネントのグラフを構築するためのライブラリ
LIVE555 ストリーミング メディア: オープン標準プロトコル (RTP/RTCP、RTSP、SIP) を使用したマルチメディア ストリーミング ライブラリ
libVLC: libVLC (VLC SDK) メディア フレームワーク
QtAV: Qt と FFmpeg をベースにしたマルチメディア再生フレームワークで、プレーヤーを簡単に作成できます。
SDL: メディア層のシンプルな直接制御
SFML: 高速でシンプルなマルチメディア ライブラリ
物理
Box2D: 2D ゲーム物理エンジン。
Bullet: 3D ゲーム物理エンジン。
Chipmunk: 高速で軽量な 2D ゲーム物理ライブラリ
LiquidFun: 2D ゲーム物理エンジン
ODE: Open Dynamics Engine - 剛体ダイナミクスをシミュレートするためのオープンソースの高性能ライブラリ。
ofxBox2D: Box2D オープンソース フレームワーク ラッパー。
Simbody: 車両、ロボット、人間の骨格などの関節生体力学および機械システムをシミュレートするための高性能 C++ マルチボディ ダイナミクス/物理ライブラリ。
ロボット工学
MOOS-Ivp: ロボット プラットフォーム、特に自律型船舶に自律性を提供するオープン ソース C++ モジュールのセット。
MRPT: モバイル ロボット プログラミング ツールキット
PCL: 点群ライブラリは、2D/3D 画像および点群処理のための独立した大規模なオープン プロジェクトです。
Robotics Library: ロボット ダイナミクス、動作計画、および制御を含むスタンドアロン C++ ライブラリ。
RobWork: ロボット システムのシミュレーションと制御のための C++ ライブラリのコレクション。
ROS: ソフトウェア開発者がロボット アプリケーションを作成するのに役立つライブラリとツールを提供するロボット オペレーティング システム。
科学計算
FFTW: 1 つ以上の次元で DFT を計算するための C 言語ライブラリ。
GSL: GNU 科学ライブラリ。
スクリプト
ChaiScript: C++ 用の使いやすい組み込みスクリプト言語。
Lua: 構成ファイルおよび基本的なアプリケーション スクリプト用の小型で高速なスクリプト エンジン。
luacxx : Lua バインディングを作成するための C++11 API
SWIG : C++ コードを JavaScript、Perl、PHP、Python、Tcl、Ruby にリンクできるようにするラッパー/インターフェイス ジェネレーター
V7: 埋め込み JavaScript エンジン。
V8: あらゆる C++ アプリケーションに埋め込むことができる Google の高速 JavaScript エンジン。
連載化
Cap'n Proto: 高速データ交換フォーマットと RPC システム。
cereal : C++11 シリアル化ライブラリ
FlatBuffers: メモリ効率の高いシリアル化ライブラリ
MessagePack: JSON などの C/C++ 用の効率的なバイナリ シリアル化ライブラリ
ProtoBuf: プロトコル バッファ、Google のデータ交換形式。
ProtoBuf-c: C 言語でのプロトコル バッファーの実装
SimpleBinaryEncoding : 低遅延アプリケーション向けに、アプリケーション情報をバイナリ形式でエンコードおよびデコードします。
Thrift: C++、Java、Python、PHP、C#、その他多くの言語で使用される効率的なクロスランゲージ IPC/RPC。もともと Facebook によって開発されました。
ビデオライブラリ
libvpx: VP8/VP9 エンコードおよびデコード SDK
FFMpeg: ビデオおよびオーディオ ストリームの記録、変換のための完全なクロスプラットフォーム ソリューション。
libde265: h.265 ビデオ コーデックのオープン実装。
OpenH264: オープンソースの H.364 コーデック。
Theora: 無料のオープンソースのビデオ圧縮形式。
XMLライブラリ
Expat: C 言語で書かれた XML 解析ライブラリ
LibXml2: Gnome 用の XML C パーサーおよびツールキット
LibXml++: C++ 用の XML パーサー
PagiXML: XPath をサポートする C++ 用の軽量でシンプルかつ高速な XML パーサー。
RapidXML: 使いやすさ、移植性、適度な W3C 互換性を維持しながら、最速の XML パーサーの作成を試みます。
TinyXML: 他のプロジェクトに簡単に統合できる、シンプルで小型の C++ XML パーサー。
TinyXML2: 他のプロジェクトに簡単に統合できる、シンプルで高速な C++ CML パーサー。
TinyXML++: TinyXML へのまったく新しいインターフェイスで、C++、テンプレート、例外、より優れた例外処理の多くの利点を活用します。
Xerces-C++: 移植可能な C++ のサブセットで書かれた XML 検証パーサー。
ゼロカラージョブ
リアルタイムで提供され、北京、上海、広州、深セン、杭州、南京、合肥、武漢、長沙、重慶、成都、西安、厦門のc/c++、golangの求人情報を毎週公開しています。 学校採用、社会採用、インターンシップのポジション、面接、固定観念、履歴書を含む