C-- 流行的開源框架和庫超全總結
標準庫
C++ 標準庫,包括了 STL 容器,算法和函數等。
-
C++ Standard Library:是一系列類和函數的集合,使用核心語言編寫,也是 C++ISO 自身標準的一部分。官網
-
Standard Template Library:標準模板庫。官網
-
C POSIX library:POSIX 系統的 C 標準庫規範。官網
-
ISO C++ Standards Committee:C++ 標準委員會。官網
框架
C++ 通用框架和庫
-
Apache C++ Standard Library:是一系列算法,容器,迭代器和其他基本組件的集合。官網
-
ASL:Adobe 源代碼庫提供了同行的評審和可移植的 C++ 源代碼庫。官網
-
Boost:大量通用 C++ 庫的集合。官網
-
BDE:來自於彭博資訊實驗室的開發環境。官網
-
Cinder:提供專業品質創造性編碼的開源開發社區。官網
-
Cxxomfort:輕量級的,只包含頭文件的庫,將 C++ 11 的一些新特性移植到 C++03 中。官網
-
Dlib:使用契約式編程和現代 C++ 科技設計的通用的跨平臺的 C++ 庫。官網
-
EASTL:EA-STL 公共部分。官網
-
ffead-cpp:企業應用程序開發框架。官網
-
Folly:由 Facebook 開發和使用的開源 C++ 庫。官網
-
JUCE:包羅萬象的 C++ 類庫,用於開發跨平臺軟件。官網
-
libPhenom:用於構建高性能和高度可擴展性系統的事件框架。官網、GitHub
-
LibSourcey:用於實時的視頻流和高性能網絡應用程序的 C++11 evented IO。官網
-
LibU:C 語言寫的多平臺工具庫。官網
-
Loki:C++ 庫的設計,包括常見的設計模式和習語的實現。官網
-
MiLi:只含頭文件的小型 C++ 庫。官網
-
openFrameworks:開發 C++ 工具包,用於創意性編碼。官網
-
Qt:跨平臺的應用程序和用戶界面框架。官網
-
Reason:跨平臺的框架,使開發者能夠更容易地使用 Java,.Net 和 Python,同時也滿足了他們對 C++ 性能和優勢的需求。官網
-
ROOT:具備所有功能的一系列面向對象的框架,能夠非常高效地處理和分析大量的數據,爲歐洲原子能研究機構所用。官網
-
STLport:是 STL 具有代表性的版本。官網
-
STXXL:用於額外的大型數據集的標準模板庫。官網
-
Ultimate++:C++ 跨平臺快速應用程序開發框架。官網
-
Windows Template Library:用於開發 Windows 應用程序和 UI 組件的 C++ 庫。官網
-
Yomm11:C++11 的開放 multi-methods。官網
人工智能
-
btsk:遊戲行爲樹啓動器工具。官網
-
Evolving Objects:基於模板的,ANSI C++ 演化計算庫,能夠幫助你非常快速地編寫出自己的隨機優化算法。官網
-
Neu:C++11 框架,編程語言集,用於創建人工智能應用程序的多用途軟件系統。官網
異步事件循環
-
Boost.Asio:用於網絡和底層 I/O 編程的跨平臺的 C++ 庫。官網
-
libev:功能齊全,高性能的時間循環,輕微地仿效 libevent,但是不再像 libevent 一樣有侷限性,也修復了它的一些 bug。官網
-
libevent:事件通知庫。官網
-
libhv:一個類似 libevent、libuv 的跨平臺事件循環庫,提供了更簡單的 API 接口和更豐富的協議。官網
-
libuv:跨平臺異步 I/O。官網
音頻
音頻,聲音,音樂,數字化音樂庫
-
FMOD:易於使用的跨平臺的音頻引擎和音頻內容的遊戲創作工具。官網
-
Maximilian:C++ 音頻和音樂數字信號處理庫。官網
-
OpenAL:開源音頻庫—跨平臺的音頻 API。官網
-
Opus:一個完全開放的,免版稅的,高度通用的音頻編解碼器。官網
-
Speex:免費編解碼器,爲 Opus 所廢棄。官網
-
Tonic:C++ 易用和高效的音頻合成。官網
-
Vorbis:Ogg Vorbis 是一種完全開放的,非專有的,免版稅的通用壓縮音頻格式。官網
生態學
生物信息,基因組學和生物技術
-
libsequence:用於表示和分析羣體遺傳學數據的 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 最新 bug 修復,支持 PKWARE 磁盤跨越,AES 加密和 IO 緩衝。官網
-
Snappy:快速壓縮和解壓縮。官網
-
ZLib:非常緊湊的數據流壓縮庫。官網
-
ZZIPlib:提供 ZIP 歸檔的讀權限。官網
併發性
併發執行和多線程
-
Boost.Compute:用於 OpenCL 的 C++GPU 計算庫。官網
-
Bolt:針對 GPU 進行優化的 C++ 模板庫。官網
-
C++React:用於 C++11 的反應性編程庫。官網
-
Intel TBB:Intel 線程構件塊。官網
-
Libclsph:基於 OpenCL 的 GPU 加速 SPH 流體仿真庫。官網
-
OpenCL:並行編程的異構系統的開放標準。官網
-
OpenMP:OpenMP API。官網
-
Thrust:類似於 C++ 標準模板庫的並行算法庫。官網
-
HPX:用於任何規模的並行和分佈式應用程序的通用 C++ 運行時系統。官網
-
VexCL:用於 OpenCL/CUDA 的 C++ 向量表達式模板庫。官網
容器
-
C++ B-tree:基於 B 樹數據結構,實現命令內存容器的模板庫。官網
-
Hashmaps:C++ 中開放尋址哈希表算法的實現。官網
密碼學
-
Bcrypt:一個跨平臺的文件加密工具,加密文件可以移植到所有可支持的操作系統和處理器中。官網
-
BeeCrypt:。官網
-
Botan:C++ 加密庫。官網
-
Crypto++:一個有關加密方案的免費的 C++ 庫。官網
-
GnuPG:OpenPGP 標準的完整實現。官網
-
GnuTLS:實現了 SSL,TLS 和 DTLS 協議的安全通信庫。官網
-
Libgcrypt:官網
-
libmcrypt:官網
-
LibreSSL:免費的 SSL/TLS 協議,屬於 2014 OpenSSL 的一個分支。官網
-
LibTomCrypt:一個非常全面的,模塊化的,可移植的加密工具。官網
-
libsodium:基於 NaCI 的加密庫,固執己見,容易使用。官網
-
Nettle:底層的加密庫。官網
-
OpenSSL:一個強大的,商用的,功能齊全的,開放源代碼的加密庫。官網
-
Tiny AES128 in C:用 C 實現的一個小巧,可移植的實現了 AES128ESB 的加密算法。官網
-
GmSSL:支持國密 SM2/SM3/SM4 算法的 OpenSSL 分支。官網
數據庫
數據庫,SQL 服務器,ODBC 驅動程序和工具
-
hiberlite:用於 Sqlite3 的 C++ 對象關係映射。官網
-
Hiredis:用於 Redis 數據庫的很簡單的 C 客戶端庫。官網
-
LevelDB:快速鍵值存儲庫。官網
-
LMDB:符合數據庫四大基本元素的嵌入鍵值存儲。官網
-
MySQL++:封裝了 MySql 的 C API 的 C++ 包裝器。官網
-
RocksDB:來自 Facebook 的嵌入鍵值的快速存儲。官網
-
SQLite:一個完全嵌入式的,功能齊全的關係數據庫,只有幾百 KB,可以正確包含到你的項目中。官網
調試
調試庫, 內存和資源泄露檢測,單元測試
-
Boost.Test:Boost 測試庫。官網
-
Catch:一個很時尚的,C++ 原生的框架,只包含頭文件,用於單元測試,測試驅動開發和行爲驅動開發。官網
-
CppUnit:由 JUnit 移植過來的 C++ 測試框架。官網
-
CTest:CMake 測試驅動程序。官網
-
googletest:谷歌 C++ 測試框架。官網
-
ig-debugheap:用於跟蹤內存錯誤的多平臺調試堆。官網
-
libtap:用 C 語言編寫測試。官網
-
MemTrack:—用於 C++ 跟蹤內存分配。官網
-
microprofile:跨平臺的網絡試圖分析器。官網
-
minUnit:使用 C 寫的迷你單元測試框架,只使用了兩個宏。官網
-
Remotery:用於 web 視圖的單一 C 文件分析器。官網
-
UnitTest++:輕量級的 C++ 單元測試框架。官網
遊戲引擎
-
Cocos2d-x:一個跨平臺框架,用於構建 2D 遊戲,互動圖書,演示和其他圖形應用程序。官網
-
Grit:社區項目,用於構建一個免費的遊戲引擎,實現開放的世界 3D 遊戲。官網
-
Irrlicht:C++ 語言編寫的開源高性能的實時 #D 引擎。官網
-
Polycode:C++ 實現的用於創建遊戲的開源框架(與 Lua 綁定)。官網
圖形用戶界面
-
CEGUI:很靈活的跨平臺 GUI 庫。官網
-
FLTK:快速,輕量級的跨平臺的 C++GUI 工具包。官網
-
GTK+:用於創建圖形用戶界面的跨平臺工具包。官網
-
gtkmm:用於受歡迎的 GUI 庫 GTK + 的官方 C++ 接口。官網
-
imgui:擁有最小依賴關係的立即模式圖形用戶界面。官網
-
libRocket:libRocket 是一個 C++ HTML/CSS 遊戲接口中間件。官網
-
MyGUI:快速,靈活,簡單的 GUI。官網
-
Ncurses:終端用戶界面。官網
-
QCustomPlot:沒有更多依賴關係的 Qt 繪圖控件。官網
-
Qwt:用戶與技術應用的 Qt 控件。官網
-
QwtPlot3D:功能豐富的基於 Qt/OpenGL 的 C++ 編程庫,本質上提供了一羣 3D 控件。官網
-
OtterUI:OtterUI 是用於嵌入式系統和互動娛樂軟件的用戶界面開發解決方案。官網
-
PDCurses:包含源代碼和預編譯庫的公共圖形函數庫。官網
-
wxWidgets:C++ 庫,允許開發人員使用一個代碼庫可以爲 widows, Mac OS X,Linux 和其他平臺創建應用程序。官網
圖形
-
bgfx:跨平臺的渲染庫。官網
-
Cairo:支持多種輸出設備的 2D 圖形庫。官網
-
Horde3D:一個小型的 3D 渲染和動畫引擎。官網
-
magnum:C++11 和 OpenGL 2D/3D 圖形引擎。官網
-
Ogre 3D:用 C++ 編寫的一個面向場景,實時,靈活的 3D 渲染引擎(並非遊戲引擎)。官網
-
OpenSceneGraph:具有高性能的開源 3D 圖形工具包。官網
-
Panda3D:用於 3D 渲染和遊戲開發的框架,用 Python 和 C++ 編寫。官網
-
Skia:用於繪製文字,圖形和圖像的完整的 2D 圖形庫。官網
-
urho3d:跨平臺的渲染和遊戲引擎。官網
圖像處理
-
Boost.GIL:通用圖像庫。官網
-
CImg:用於圖像處理的小型開源 C++ 工具包。官網
-
CxImage:用於加載,保存,顯示和轉換的圖像處理和轉換庫,可以處理的圖片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K。官網
-
FreeImage:開源庫,支持現在多媒體應用所需的通用圖片格式和其他格式。官網
-
GDCM:Grassroots DICOM 庫。官網
-
ITK:跨平臺的開源圖像分析系統。官網
-
Magick++:ImageMagick 程序的 C++ 接口。官網
-
MagickWnd:ImageMagick 程序的 C++ 接口。官網
-
OpenCV:開源計算機視覺類庫。官網
-
tesseract-ocr:OCR 引擎。官網
-
VIGRA:用於圖像分析通用 C++ 計算機視覺庫。官網
-
VTK:用於 3D 計算機圖形學,圖像處理和可視化的開源免費軟件系統。官網
國際化
-
gettext:GNU
gettext
。官網 -
IBM ICU:提供 Unicode 和全球化支持的 C、C++ 和 Java 庫。官網
-
libiconv:用於不同字符編碼之間的編碼轉換庫。官網
Json
-
frozen:C/C++ 的 Json 解析生成器。官網
-
Jansson:進行編解碼和處理 Json 數據的 C 語言庫。官網
-
jbson:C++14 中構建和迭代 BSON data, 和 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 的庫。官網
-
RapidJSON:用於 C++ 的快速 JSON 解析生成器,包含 SAX 和 DOM 兩種風格的 API。官網
-
YAJL:C 語言中快速流 JSON 解析庫。官網
-
json:一個現代 C++ JSON 解析庫。語法更直觀,集成更簡單,經過嚴格測試的同時對內存效率、速度有深入地考慮。官網
日誌
-
Boost.Log:設計非常模塊化,並且具有擴展性。官網
-
easyloggingpp:C++ 日誌庫,只包含單一的頭文件。官網
-
Log4cpp:一系列 C++ 類庫,靈活添加日誌到文件,系統日誌,IDSA 和其他地方。官網
-
templog:輕量級 C++ 庫,可以添加日誌到你的 C++ 應用程序中。官網
-
spdlog:高性能,只包含頭文件。官網
機器學習
-
Caffe:快速的神經網絡框架。官網
-
CCV:以 C 語言爲核心的現代計算機視覺庫。官網
-
mlpack:可擴展的 C++ 機器學習庫。官網
-
OpenCV:開源計算機視覺庫。官網
-
Recommender:使用協同過濾進行產品推薦 / 建議的 C 語言庫。官網
-
SHOGUN:Shogun 機器學習工具。官網
-
sofia-ml:用於機器學習的快速增量算法套件。官網
數學
-
Armadillo:高質量的 C++ 線性代數庫,速度和易用性做到了很好的平衡。語法和 MatlAB 很相似。官網
-
blaze:高性能的 C++ 數學庫,用於密集和稀疏算法。官網
-
ceres-solver:來自谷歌的 C++ 庫,用於建模和解決大型複雜非線性最小平方問題。官網
-
CGal:高效,可靠的集合算法集合。官網
-
cml:用於遊戲和圖形的免費 C++ 數學庫。官網
-
Eigen:高級 C++ 模板頭文件庫,包括線性代數,矩陣,向量操作,數值解決和其他相關的算法。官網
-
GMTL:數學圖形模板庫是一組廣泛實現基本圖形的工具。官網
-
GMP:用於個高精度計算的 C/C++ 庫,處理有符號整數,有理數和浮點數。官網
多媒體
-
GStreamer:構建媒體處理組件圖形的庫。官網
-
LIVE555 Streaming Media:使用開放標準協議 (RTP/RTCP, RTSP, SIP) 的多媒體流庫。官網
-
libVLC:libVLC (VLC SDK) 媒體框架。官網
-
QtAv:基於 Qt 和 FFmpeg 的多媒體播放框架,能夠幫助你輕而易舉地編寫出一個播放器。官網
-
SDL:簡單直控媒體層。官網
-
SFML:快速,簡單的多媒體庫。官網
網絡
-
ACE:C++ 面向對象網絡編程工具包。官網
-
Boost.Asio:用於網絡和底層 I/O 編程的跨平臺的 C++ 庫。官網
-
Casablanca:C++ REST SDK。官網
-
cpp-netlib:高級網絡編程的開源庫集合。官網
-
Dyad.c:C 語言的異步網絡。官網
-
libcurl:多協議文件傳輸庫。官網
-
Mongoose:非常輕量級的網絡服務器。官網
-
Muduo:用於 Linux 多線程服務器的 C++ 非阻塞網絡庫。官網
-
net_skeleton:C/C++ 的 TCP 客戶端 / 服務器庫。官網
-
nope.c:基於 C 語言的超輕型軟件平臺,用於可擴展的服務器端和網絡應用。對於 C 編程人員,可以考慮 node.js。官網
-
Onion:C 語言 HTTP 服務器庫,其設計爲輕量級,易使用。官網
-
POCO:用於構建網絡和基於互聯網應用程序的 C++ 類庫,可以運行在桌面,服務器,移動和嵌入式系統。官網
-
RakNet:爲遊戲開發人員提供的跨平臺的開源 C++ 網絡引擎。官網
-
Tuf o:用於 Qt 之上的 C++ 構建的異步 Web 框架。官網
-
WebSocket++:基於 C++/Boost Aiso 的 websocket 客戶端 / 服務器庫。官網
-
ZeroMQ:高速,模塊化的異步通信庫。官網
物理學
粒子物理
- Geant4: 粒子探測器模擬引擎。官網
動力學仿真引擎
-
Box2D:2D 的遊戲物理引擎。官網
-
Bullet:3D 的遊戲物理引擎。官網
-
Chipmunk:快速,輕量級的 2D 遊戲物理庫。官網
-
LiquidFun:2D 的遊戲物理引擎。官網
-
ODE:開放動力學引擎 - 開源,高性能庫,模擬剛體動力學。官網
-
ofxBox2d:Box2D 開源框架包裝器。官網
-
Simbody:高性能 C++ 多體動力學 / 物理庫,模擬關節生物力學和機械系統,像車輛,機器人和人體骨骼。官網
機器人學
-
MOOS-IvP:一組開源 C++ 模塊,提供機器人平臺的自主權,尤其是自主的海洋車輛。官網
-
MRPT:移動機器人編程工具包。官網
-
PCL:點雲庫是一個獨立的,大規模的開放項目,用於 2D/3D 圖像和點雲處理。官網
-
Robotics Library (RL):一個獨立的 C++ 庫,包括機器人動力學,運動規劃和控制。官網
-
RobWork:一組 C++ 庫的集合,用於機器人系統的仿真和控制。官網
-
ROS:機器人操作系統,提供了一些庫和工具幫助軟件開發人員創建機器人應用程序。官網
科學計算
-
FFTW:用一維或者多維計算 DFT 的 C 語言庫。官網
-
GSL:GNU 科學庫。官網
腳本
-
ChaiScript:用於 C++ 的易於使用的嵌入式腳本語言。官網
-
Lua:用於配置文件和基本應用程序腳本的小型快速腳本引擎。官網
-
luacxx:用於創建 Lua 綁定的 C++ 11 API。官網
-
SWIG:一個可以讓你的 C++ 代碼鏈接到 JavaScript、Perl、PHP、Python、Tcl 和 Ruby 的包裝器 / 接口生成器。官網
-
V7:嵌入式的 JavaScript 引擎。官網
-
V8:谷歌的快速 JavaScript 引擎,可以被嵌入到任何 C++ 應用程序中。官網
序列化
-
Cap’n Proto:快速數據交換格式和 RPC 系統。官網
-
cereal:C++11 序列化庫。官網
-
FlatBuffers:內存高效的序列化庫。官網
-
MessagePack:C/C++ 的高效二進制序列化庫,例如 JSON。官網
-
protobuf:協議緩衝,谷歌的數據交換格式。官網
-
protobuf-c:C 語言的協議緩衝實現。官網
-
SimpleBinaryEncoding:用於低延遲應用程序的對二進制格式的應用程序信息的編碼和解碼。官網
-
Thrift:高效的跨語言 IPC/RPC,用於 C++,Java,Python,PHP,C# 和其它多種語言中,最初由 Twitter 開發。官網
視頻
-
libvpx:VP8/VP9 編碼解碼 SDK。官網
-
FFmpeg:一個完整的,跨平臺的解決方案,用於記錄,轉換視頻和音頻流。官網
-
libde265:開放的 h.265 視頻編解碼器的實現。官網
-
OpenH264:開源 H.364 編解碼器。官網
-
Theora:免費開源的視頻壓縮格式。官網
虛擬機
-
CarpVM:C 中有趣的 VM,讓我們一起來看看這個。官網
-
MicroPython:旨在實現單片機上 Python3.x 的實現。官網
-
TinyVM:用純粹的 ANSI C 編寫的小型,快速,輕量級的虛擬機。官網
Web 應用框架
-
Civetweb:提供易於使用,強大的,C/C++ 嵌入式 Web 服務器,帶有可選的 CGI,SSL 和 Lua 支持。官網
-
CppCMS:免費高性能的 Web 開發框架(不是 CMS)。官網
-
Crow:一個 C++ 微型 web 框架(靈感來自於 Python Flask)。官網
-
Kore:使用 C 語言開發的用於 web 應用程序的超快速和靈活的 web 服務器 / 框架。官網
-
libOnion:輕量級的庫,幫助你使用 C 編程語言創建 web 服務器。官網
-
QDjango:使用 C++ 編寫的,基於 Qt 庫的 web 框架,試圖效仿 Django API,因此得此名。官網
-
Wt:開發 Web 應用的 C++ 庫。官網
XML
XML 就是個垃圾,XML 的解析很煩人,對於計算機它也是個災難。這種糟糕的東西完全沒有存在的理由了。-Linus Torvalds
-
Expat:用 C 語言編寫的 XML 解析庫。官網
-
Libxml2:Gnome 的 XML C 解析器和工具包。官網
-
libxml++:C++ 的 XML 解析器。官網
-
PugiXML:用於 C++ 的,支持 XPath 的輕量級,簡單快速的 XML 解析器。官網
-
RapidXml:試圖創建最快速的 XML 解析器,同時保持易用性,可移植性和合理的 W3C 兼容性。官網
-
TinyXML:簡單小型的 C++XML 解析器,可以很容易地集成到其它項目中。官網
-
TinyXML2:簡單快速的 C++CML 解析器,可以很容易集成到其它項目中。官網
-
TinyXML++:TinyXML 的一個全新的接口,使用了 C++ 的許多許多優勢,模板,異常和更好的異常處理。官網
-
Xerces-C++:用可移植的 C++ 的子集編寫的 XML 驗證解析器。官網
多項混雜
一些有用的庫或者工具,但是不適合上面的分類,或者還沒有分類
-
C++ Format:C++ 的小型,安全和快速格式化庫。官網
-
casacore:從 aips++ 派生的一系列 C++ 核心庫。官網
-
cxx-prettyprint:用於 C++ 容器的打印庫。官網
-
DynaPDF:易於使用的 PDF 生成庫。官網
-
gcc-poison:幫助開發人員禁止應用程序中的不安全的 C/C++ 函數的簡單的頭文件。官網
-
googlemock:編寫和使用 C++ 模擬類的庫。官網
-
HTTP Parser:C 的 http 請求 / 響應解析器。官網
-
libcpuid:用於 x86 CPU 檢測盒特徵提取的小型 C 庫。官網
-
libevil:許可證管理器。官網
-
libusb:允許移動訪問 USB 設備的通用 USB 庫。官網
-
PCRE:正則表達式 C 庫,靈感來自於 Perl 中正則表達式的功能。官網
-
Remote Call Framework:C++ 的進程間通信框架。官網
-
Scintilla:開源的代碼編輯控件。官網
-
Serial Communication Library:C++ 語言編寫的跨平臺,串口庫。官網
-
SDS:C 的簡單動態字符串庫。官網
-
SLDR:超輕的 DNS 解析器。官網
-
SLRE:超輕的正則表達式庫。官網
-
Stage:移動機器人模擬器。官網
-
VarTypes:C++/Qt4 功能豐富,面向對象的管理變量的框架。官網
-
ZBar:‘條形碼掃描器’庫,可以掃描照片,圖片和視頻流中的條形碼,並返回結果。官網
-
CppVerbalExpressions:易於使用的 C++ 正則表達式。官網
-
QtVerbalExpressions:基於 C++ VerbalExpressions 庫的 Qt 庫。官網
-
PHP-CPP:使用 C++ 來構建 PHP 擴展的庫。官網
-
Better String:C 的另一個字符串庫,功能更豐富,但是沒有緩衝溢出問題,還包含了一個 C++ 包裝器。官網
軟件
用於創建開發環境的軟件
編譯器
C/C++ 編譯器列表
-
Clang:由蘋果公司開發的。官網
-
GCC:GNU 編譯器集合。官網
-
Intel C++ Compiler:由英特爾公司開發。官網
-
LLVM:模塊化和可重用編譯器和工具鏈技術的集合。官網
-
Microsoft Visual C++:MSVC,由微軟公司開發。官網
-
Open WatCom:Watcom、C、C++ 和 Fortran 交叉編譯器和工具。官網
-
TCC:輕量級的 C 語言編譯器。官網
在線編譯器
在線 C/C++ 編譯器列表
-
codepad:在線編譯器 / 解釋器,一個簡單的協作工具。官網
-
CodeTwist:一個簡單的在線編譯器 / 解釋器,你可以粘貼的 C,C++ 或者 Java 代碼,在線執行並查看結果。官網
-
coliru:在線編譯器 / shell, 支持各種 C++ 編譯器。官網
-
Compiler Explorer:交互式編譯器,可以進行彙編輸出。官網
-
CompileOnline:Linux 上在線編譯和執行 C++ 程序。官網
-
Ideone:一個在線編譯器和調試工具,允許你在線編譯源代碼並執行,支持 60 多種編程語言。官網
-
C++ Shell: 一個非常簡單方便, 不需要註冊的 C++ 在線編譯器, 可以顯示編譯信息, 允許使用不同的 C++ 標準, 不同的優化選項, 並支持 stdio. 官網
調試器
-
Comparison of debuggers:來自維基百科的調試器列表。官網
-
GDB:GNU 調試器。官網
-
Valgrind:內存調試,內存泄露檢測,性能分析工具。官網
集成開發環境(IDE)
-
AppCode:構建與 JetBrains’ IntelliJ IDEA 平臺上的用於 Objective-C,C,C++,Java 和 Java 開發的集成開發環境。官網
-
CLion:來自 JetBrains 的跨平臺的 C/C++ 的集成開發環境。官網
-
Code::Blocks:免費 C,C++ 和 Fortran 的集成開發環境。官網
-
CodeLite:另一個跨平臺的免費的 C/C++ 集成開發環境。官網
-
Dev-C++:可移植的 C/C++/C++11 集成開發環境。官網
-
Eclipse CDT:基於 Eclipse 平臺的功能齊全的 C 和 C++ 集成開發環境。官網
-
Geany:輕量級的快速,跨平臺的集成開發環境。官網
-
IBM VisualAge:來自 IBM 的家庭計算機集成開發環境。官網
-
Irony-mode:由 libclang 驅動的用於 Emacs 的 C/C++ 微模式。官網
-
KDevelop:免費開源集成開發環境。官網
-
Microsoft Visual Studio:來自微軟的集成開發環境。官網
-
NetBeans:主要用於 Java 開發的的集成開發環境,也支持其他語言,尤其是 PHP,C/C++ 和 HTML5。官網
-
Qt Creator:跨平臺的 C++,Javascript 和 QML 集成開發環境,也是 Qt SDK 的一部分。官網
-
rtags:C/C++ 的客戶端服務器索引,用於 跟基於 clang 的 emacs 的集成。官網
-
Xcode:由蘋果公司開發。官網
-
YouCompleteMe:一個用於 Vim 的根據你敲的代碼快速模糊搜索並進行代碼補全的引擎。官網
構建系統
-
Bear:用於爲 clang 工具生成編譯數據庫的工具。官網
-
Biicode:基於文件的簡單依賴管理器。官網
-
CMake:跨平臺的免費開源軟件用於管理軟件使用獨立編譯的方法進行構建的過程。官網
-
CPM:基於 CMake 和 Git 的 C++ 包管理器。官網
-
FASTBuild:高性能,開源的構建系統,支持高度可擴展性的編譯,緩衝和網絡分佈。官網
-
Ninja:專注於速度的小型構建系統。官網
-
Scons:使用 Python scipt 配置的軟件構建工具。官網
-
tundra:高性能的代碼構建系統,甚至對於非常大型的軟件項目,也能提供最好的增量構建次數。官網
-
tup:基於文件的構建系統,用於後臺監控變化的文件。官網
靜態代碼分析
提高質量,減少瑕疵的代碼分析工具列表
-
Cppcheck:靜態 C/C++ 代碼分析工具。官網
-
include-what-you-use:使用 clang 進行代碼分析的工具,可以 #include 在 C 和 C++ 文件中。官網
-
OCLint:用於 C,C++ 和 Objective-C 的靜態源代碼分析工具,用於提高質量,減少瑕疵。官網
-
Clang Static Analyzer:查找 C,C++ 和 Objective-C 程序 bug 的源代碼分析工具。官網
-
靜態代碼分析工具清單(開源篇):來自維基百科的靜態代碼分析工具列表。官網
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/I6mNS82HgnPdoE28R5ktUA