苛预、Web應(yīng)用框架句狼、人工智能、數(shù)據(jù)庫碟渺、圖片處理鲜锚、機(jī)器學(xué)習(xí)、日志苫拍、代碼分析等芜繁。標(biāo)準(zhǔn)庫
C++ Standard Library:是一系列類和函數(shù)的集合,使用核心語言編寫绒极,也是C++ISO自身標(biāo)準(zhǔn)的一部分骏令。
Standard Template Library:標(biāo)準(zhǔn)模板庫
C POSIX library : POSIX系統(tǒng)的C標(biāo)準(zhǔn)庫規(guī)范
ISO C++ Standards Committee :C++標(biāo)準(zhǔn)委員會
框架C++通用框架和庫 8 @2 K3 w2 H. W4 g4 ~, A3 t
Apache C++ Standard Library:是一系列算法,容器垄提,迭代器和其他基本組件的集合
ASL :Adobe源代碼庫提供了同行的評審和可移植的C++源代碼庫榔袋。
Boost :大量通用C++庫的集合。
BDE :來自于彭博資訊實(shí)驗(yàn)室的開發(fā)環(huán)境铡俐。
Cinder:提供專業(yè)品質(zhì)創(chuàng)造性編碼的開源開發(fā)社區(qū)凰兑。
Cxxomfort:輕量級的,只包含頭文件的庫审丘,將C++ 11的一些新特性移植到C++03中吏够。
Dlib:使用契約式編程和現(xiàn)代C++科技設(shè)計(jì)的通用的跨平臺的C++庫。
EASTL :EA-STL公共部分
ffead-cpp :企業(yè)應(yīng)用程序開發(fā)框架
Folly:由Facebook開發(fā)和使用的開源C++庫
JUCE :包羅萬象的C++類庫,用于開發(fā)跨平臺軟件
libPhenom:用于構(gòu)建高性能和高度可擴(kuò)展性系統(tǒng)的事件框架锅知。
LibSourcey :用于實(shí)時(shí)的視頻流和高性能網(wǎng)絡(luò)應(yīng)用程序的C++11 evented IO
LibU : C語言寫的多平臺工具庫
Loki :C++庫的設(shè)計(jì)播急,包括常見的設(shè)計(jì)模式和習(xí)語的實(shí)現(xiàn)。
MiLi :只含頭文件的小型C++庫
openFrameworks :開發(fā)C++工具包售睹,用于創(chuàng)意性編碼桩警。
Qt :跨平臺的應(yīng)用程序和用戶界面框架
Reason :跨平臺的框架,使開發(fā)者能夠更容易地使用Java昌妹,.Net和Python捶枢,同時(shí)也滿足了他們對C++性能和優(yōu)勢的需求。
ROOT :具備所有功能的一系列面向?qū)ο蟮目蚣苻嘧冢軌蚍浅8咝У靥幚砗头治龃罅康臄?shù)據(jù)柱蟀,為歐洲原子能研究機(jī)構(gòu)所用。
STLport:是STL具有代表性的版本
STXXL:用于額外的大型數(shù)據(jù)集的標(biāo)準(zhǔn)模板庫蚜厉。
Ultimate++ :C++跨平臺快速應(yīng)用程序開發(fā)框架
Windows Template Library:用于開發(fā)Windows應(yīng)用程序和UI組件的C++庫
Yomm11 :C++11的開放multi-methods.
人工智能
btsk :游戲行為樹啟動器工具
Evolving Objects:基于模板的长已,ANSI C++演化計(jì)算庫,能夠幫助你非持缗#快速地編寫出自己的隨機(jī)優(yōu)化算法术瓮。
Neu:C++11框架,編程語言集贰健,用于創(chuàng)建人工智能應(yīng)用程序的多用途軟件系統(tǒng)胞四。; o3 D( Q+ A' [% I4 Y! X3 m
異步事件循環(huán)
Boost.Asio:用于網(wǎng)絡(luò)和底層I/O編程的跨平臺的C++庫。
libev :功能齊全伶椿,高性能的時(shí)間循環(huán)辜伟,輕微地仿效libevent,但是不再像libevent一樣有局限性脊另,也修復(fù)了它的一些bug导狡。
libevent :事件通知庫
libuv :跨平臺異步I/O。
音頻音頻偎痛,聲音旱捧,音樂,數(shù)字化音樂庫 - S, c$ _! u4 |6 d
FMOD :易于使用的跨平臺的音頻引擎和音頻內(nèi)容的游戲創(chuàng)作工具踩麦。
Maximilian :C++音頻和音樂數(shù)字信號處理庫
OpenAL :開源音頻庫—跨平臺的音頻API
Opus:一個(gè)完全開放的枚赡,免版稅的,高度通用的音頻編解碼器
Speex:免費(fèi)編解碼器谓谦,為Opus所廢棄
Tonic: C++易用和高效的音頻合成
Vorbis: Ogg Vorbis是一種完全開放的贫橙,非專有的,免版稅的通用壓縮音頻格式反粥。
生態(tài)學(xué)生物信息料皇,基因組學(xué)和生物技術(shù) 8 e? L? t7 X6 l0 B
libsequence:用于表示和分析群體遺傳學(xué)數(shù)據(jù)的C++庫谓松。
SeqAn:專注于生物數(shù)據(jù)序列分析的算法和數(shù)據(jù)結(jié)構(gòu)。
Vcflib :用于解析和處理VCF文件的C++庫
Wham:直接把聯(lián)想測試應(yīng)用到BAM文件的基因結(jié)構(gòu)變異践剂。
壓縮壓縮和歸檔庫 $ X/ Y( n+ t8 q( y' h
bzip2:一個(gè)完全免費(fèi),免費(fèi)專利和高質(zhì)量的數(shù)據(jù)壓縮
doboz:能夠快速解壓縮的壓縮庫
PhysicsFS:對各種歸檔提供抽象訪問的庫娜膘,主要用于視頻游戲逊脯,設(shè)計(jì)靈感部分來自于Quake3的文件子系統(tǒng)。
KArchive:用于創(chuàng)建竣贪,讀寫和操作文件檔案(例如zip和 tar)的庫军洼,它通過QIODevice的一系列子類,使用gzip格式演怎,提供了透明的壓縮和解壓縮的數(shù)據(jù)匕争。
LZ4 :非常快速的壓縮算法
LZHAM :無損壓縮數(shù)據(jù)庫爷耀,壓縮比率跟LZMA接近甘桑,但是解壓縮速度卻要快得多。
LZMA :7z格式默認(rèn)和通用的壓縮方法歹叮。
LZMAT :及其快速的實(shí)時(shí)無損數(shù)據(jù)壓縮庫
miniz:單一的C源文件跑杭,緊縮/膨脹壓縮庫,使用zlib兼容API咆耿,ZIP歸檔讀寫德谅,PNG寫方式。
Minizip:Zlib最新bug修復(fù)萨螺,支持PKWARE磁盤跨越窄做,AES加密和IO緩沖。
Snappy :快速壓縮和解壓縮
ZLib :非常緊湊的數(shù)據(jù)流壓縮庫
ZZIPlib:提供ZIP歸檔的讀權(quán)限慰技。8 Q3 I* D8 w1 T; {/ z. m) Y! b
并發(fā)性并發(fā)執(zhí)行和多線程
Boost.Compute :用于OpenCL的C++GPU計(jì)算庫
Bolt :針對GPU進(jìn)行優(yōu)化的C++模板庫
C++React :用于C++11的反應(yīng)性編程庫
Intel TBB :Intel線程構(gòu)件塊
Libclsph:基于OpenCL的GPU加速SPH流體仿真庫
OpenCL :并行編程的異構(gòu)系統(tǒng)的開放標(biāo)準(zhǔn)
OpenMP:OpenMP API
Thrust :類似于C++標(biāo)準(zhǔn)模板庫的并行算法庫
HPX :用于任何規(guī)模的并行和分布式應(yīng)用程序的通用C++運(yùn)行時(shí)系統(tǒng)
VexCL :用于OpenCL/CUDA 的C++向量表達(dá)式模板庫椭盏。( q; S+ I5 t- X' L6 q
容器
C++ B-tree :基于B樹數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)命令內(nèi)存容器的模板庫
Hashmaps: C++中開放尋址哈希表算法的實(shí)現(xiàn)
密碼學(xué)
Bcrypt :一個(gè)跨平臺的文件加密工具惹盼,加密文件可以移植到所有可支持的操作系統(tǒng)和處理器中庸汗。
BeeCrypt:
Botan: C++加密庫
Crypto++:一個(gè)有關(guān)加密方案的免費(fèi)的C++庫
GnuPG: OpenPGP標(biāo)準(zhǔn)的完整實(shí)現(xiàn)
GnuTLS :實(shí)現(xiàn)了SSL,TLS和DTLS協(xié)議的安全通信庫
Libgcrypt
libmcrypt
LibreSSL:免費(fèi)的SSL/TLS協(xié)議手报,屬于2014 OpenSSL的一個(gè)分支
LibTomCrypt:一個(gè)非常全面的蚯舱,模塊化的,可移植的加密工具
libsodium:基于NaCI的加密庫掩蛤,固執(zhí)己見枉昏,容易使用
Nettle 底層的加密庫
OpenSSL : 一個(gè)強(qiáng)大的,商用的揍鸟,功能齊全的兄裂,開放源代碼的加密庫句旱。
Tiny AES128 in C :用C實(shí)現(xiàn)的一個(gè)小巧,可移植的實(shí)現(xiàn)了AES128ESB的加密算法
數(shù)據(jù)庫數(shù)據(jù)庫晰奖,SQL服務(wù)器谈撒,ODBC驅(qū)動程序和工具 % ^0 S% {& R- n+ o, \" e: G$ C
hiberlite :用于Sqlite3的C++對象關(guān)系映射
Hiredis: 用于Redis數(shù)據(jù)庫的很簡單的C客戶端庫
LevelDB: 快速鍵值存儲庫
LMDB:符合數(shù)據(jù)庫四大基本元素的嵌入鍵值存儲
MySQL++:封裝了MySql的C API的C++ 包裝器
RocksDB:來自Facebook的嵌入鍵值的快速存儲
SQLite:一個(gè)完全嵌入式的,功能齊全的關(guān)系數(shù)據(jù)庫匾南,只有幾百KB啃匿,可以正確包含到你的項(xiàng)目中。7 |" g. p7 `! y7 r: z( q" L? p
調(diào)試調(diào)試庫蛆楞, 內(nèi)存和資源泄露檢測溯乒,單元測試 5 s) J% x1 \$ j2 {
Boost.Test:Boost測試庫
Catch:一個(gè)很時(shí)尚的,C++原生的框架豹爹,只包含頭文件裆悄,用于單元測試,測試驅(qū)動開發(fā)和行為驅(qū)動開發(fā)臂聋。
CppUnit:由JUnit移植過來的C++測試框架
CTest:CMake測試驅(qū)動程序
googletest:谷歌C++測試框架
ig-debugheap:用于跟蹤內(nèi)存錯(cuò)誤的多平臺調(diào)試堆
libtap:用C語言編寫測試
MemTrack —用于C++跟蹤內(nèi)存分配
microprofile- 跨平臺的網(wǎng)絡(luò)試圖分析器
minUnit :使用C寫的迷你單元測試框架光稼,只使用了兩個(gè)宏
Remotery:用于web視圖的單一C文件分析器
UnitTest++:輕量級的C++單元測試框架) P3 h2 _. {2 k- S
游戲引擎
Cocos2d-x :一個(gè)跨平臺框架,用于構(gòu)建2D游戲逻住,互動圖書钟哥,演示和其他圖形應(yīng)用程序。
Grit :社區(qū)項(xiàng)目瞎访,用于構(gòu)建一個(gè)免費(fèi)的游戲引擎腻贰,實(shí)現(xiàn)開放的世界3D游戲。
Irrlicht :C++語言編寫的開源高性能的實(shí)時(shí)#D引擎
Polycode:C++實(shí)現(xiàn)的用于創(chuàng)建游戲的開源框架(與Lua綁定)扒秸。
圖形用戶界面
CEGUI : 很靈活的跨平臺GUI庫
FLTK :快速播演,輕量級的跨平臺的C++GUI工具包。
GTK+: 用于創(chuàng)建圖形用戶界面的跨平臺工具包
gtkmm :用于受歡迎的GUI庫GTK+的官方C++接口伴奥。
imgui:擁有最小依賴關(guān)系的立即模式圖形用戶界面
libRocket : libRocket 是一個(gè)C++ HTML/CSS 游戲接口中間件
MyGUI :快速写烤,靈活,簡單的GUI
Ncurses:終端用戶界面
QCustomPlot :沒有更多依賴關(guān)系的Qt繪圖控件
Qwt :用戶與技術(shù)應(yīng)用的Qt 控件
QwtPlot3D :功能豐富的基于Qt/OpenGL的C++編程庫拾徙,本質(zhì)上提供了一群3D控件
OtterUI : OtterUI 是用于嵌入式系統(tǒng)和互動娛樂軟件的用戶界面開發(fā)解決方案
PDCurses 包含源代碼和預(yù)編譯庫的公共圖形函數(shù)庫
wxWidgets C++庫洲炊,允許開發(fā)人員使用一個(gè)代碼庫可以為widows, Mac OS X尼啡,Linux和其他平臺創(chuàng)建應(yīng)用程序8 [, _! Q; z1 E* v+ G
圖形
bgfx:跨平臺的渲染庫
Cairo:支持多種輸出設(shè)備的2D圖形庫
Horde3D 一個(gè)小型的3D渲染和動畫引擎
magnum C++11和OpenGL 2D/3D 圖形引擎
Ogre 3D 用C++編寫的一個(gè)面向場景暂衡,實(shí)時(shí),靈活的3D渲染引擎(并非游戲引擎)
OpenSceneGraph 具有高性能的開源3D圖形工具包
Panda3D 用于3D渲染和游戲開發(fā)的框架崖瞭,用Python和C++編寫狂巢。
Skia 用于繪制文字,圖形和圖像的完整的2D圖形庫
urho3d 跨平臺的渲染和游戲引擎书聚。* _; P4 t! Z0 N7 {
圖像處理
Boost.GIL:通用圖像庫
CImg :用于圖像處理的小型開源C++工具包
CxImage :用于加載唧领,保存藻雌,顯示和轉(zhuǎn)換的圖像處理和轉(zhuǎn)換庫,可以處理的圖片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K斩个。
FreeImage :開源庫胯杭,支持現(xiàn)在多媒體應(yīng)用所需的通用圖片格式和其他格式。
GDCM:Grassroots DICOM 庫
ITK:跨平臺的開源圖像分析系統(tǒng)
Magick++:ImageMagick程序的C++接口
MagickWnd:ImageMagick程序的C++接口
OpenCV : 開源計(jì)算機(jī)視覺類庫
tesseract-ocr:OCR引擎
VIGRA :用于圖像分析通用C++計(jì)算機(jī)視覺庫
VTK :用于3D計(jì)算機(jī)圖形學(xué)萨驶,圖像處理和可視化的開源免費(fèi)軟件系統(tǒng)歉摧。
國際化
gettext :GNU `gettext’
IBM ICU:提供Unicode 和全球化支持的C、C++ 和Java庫
libiconv :用于不同字符編碼之間的編碼轉(zhuǎn)換庫
Jason
frozen : C/C++的Jason解析生成器
Jansson :進(jìn)行編解碼和處理Jason數(shù)據(jù)的C語言庫
jbson :C++14中構(gòu)建和迭代BSON data,和Json 文檔的庫
JeayeSON:非常健全的C++ JSON庫腔呜,只包含頭文件
JSON++ : C++ JSON 解析器
json-parser:用可移植的ANSI C編寫的JSON解析器,占用內(nèi)存非常少
json11 :一個(gè)迷你的C++11 JSON庫
jute :非常簡單的C++ JSON解析器
ibjson:C語言中的JSON解析和打印庫再悼,很容易和任何模型集成核畴。
libjson:輕量級的JSON庫
PicoJSON:C++中JSON解析序列化,只包含頭文件
qt-json :用于JSON數(shù)據(jù)和 QVariant層次間的相互解析的簡單類
QJson:將JSON數(shù)據(jù)映射到QVariant對象的基于Qt的庫
RapidJSON: 用于C++的快速JSON 解析生成器冲九,包含SAX和DOM兩種風(fēng)格的API
YAJL :C語言中快速流JSON解析庫
日志
Boost.Log :設(shè)計(jì)非常模塊化谤草,并且具有擴(kuò)展性
easyloggingpp:C++日志庫,只包含單一的頭文件莺奸。
Log4cpp :一系列C++類庫丑孩,靈活添加日志到文件,系統(tǒng)日志灭贷,IDSA和其他地方温学。
templog:輕量級C++庫,可以添加日志到你的C++應(yīng)用程序中
機(jī)器學(xué)習(xí)
Caffe :快速的神經(jīng)網(wǎng)絡(luò)框架
CCV :以C語言為核心的現(xiàn)代計(jì)算機(jī)視覺庫
mlpack :可擴(kuò)展的C++機(jī)器學(xué)習(xí)庫
OpenCV:開源計(jì)算機(jī)視覺庫
Recommender:使用協(xié)同過濾進(jìn)行產(chǎn)品推薦/建議的C語言庫甚疟。
SHOGUN:Shogun 機(jī)器學(xué)習(xí)工具
sofia-ml :用于機(jī)器學(xué)習(xí)的快速增量算法套件
數(shù)學(xué)
Armadillo :高質(zhì)量的C++線性代數(shù)庫仗岖,速度和易用性做到了很好的平衡。語法和MatlAB很相似
blaze:高性能的C++數(shù)學(xué)庫览妖,用于密集和稀疏算法轧拄。
ceres-solver :來自谷歌的C++庫,用于建模和解決大型復(fù)雜非線性最小平方問題讽膏。
CGal: 高效檩电,可靠的集合算法集合
cml :用于游戲和圖形的免費(fèi)C++數(shù)學(xué)庫
Eigen :高級C++模板頭文件庫,包括線性代數(shù)府树,矩陣俐末,向量操作,數(shù)值解決和其他相關(guān)的算法挺尾。
GMTL:數(shù)學(xué)圖形模板庫是一組廣泛實(shí)現(xiàn)基本圖形的工具鹅搪。
GMP:用于個(gè)高精度計(jì)算的C/C++庫,處理有符號整數(shù)遭铺,有理數(shù)和浮點(diǎn)數(shù)丽柿。1 d" h7 l$ \( |+ @0 w: I
多媒體
GStreamer :構(gòu)建媒體處理組件圖形的庫
LIVE555 Streaming Media :使用開放標(biāo)準(zhǔn)協(xié)議(RTP/RTCP, RTSP, SIP) 的多媒體流庫
libVLC :libVLC (VLC SDK)媒體框架
QtAv:基于Qt和FFmpeg的多媒體播放框架恢准,能夠幫助你輕而易舉地編寫出一個(gè)播放器
SDL :簡單直控媒體層
SFML :快速,簡單的多媒體庫5 l) w( z0 ^0 B& s/ M; w0 W
網(wǎng)絡(luò)
ACE:C++面向?qū)ο缶W(wǎng)絡(luò)變成工具包
Boost.Asio:用于網(wǎng)絡(luò)和底層I/O編程的跨平臺的C++庫
Casablanca:C++ REST SDK
cpp-netlib:高級網(wǎng)絡(luò)編程的開源庫集合
Dyad.c:C語言的異步網(wǎng)絡(luò)
libcurl :多協(xié)議文件傳輸庫
Mongoose:非常輕量級的網(wǎng)絡(luò)服務(wù)器
Muduo :用于Linux多線程服務(wù)器的C++非阻塞網(wǎng)絡(luò)庫
net_skeleton :C/C++的TCP 客戶端/服務(wù)器庫
nope.c :基于C語言的超輕型軟件平臺甫题,用于可擴(kuò)展的服務(wù)器端和網(wǎng)絡(luò)應(yīng)用馁筐。 對于C編程人員,可以考慮node.js
Onion :C語言HTTP服務(wù)器庫坠非,其設(shè)計(jì)為輕量級敏沉,易使用。
POCO:用于構(gòu)建網(wǎng)絡(luò)和基于互聯(lián)網(wǎng)應(yīng)用程序的C++類庫炎码,可以運(yùn)行在桌面盟迟,服務(wù)器,移動和嵌入式系統(tǒng)潦闲。
RakNet:為游戲開發(fā)人員提供的跨平臺的開源C++網(wǎng)絡(luò)引擎攒菠。
Tuf o :用于Qt之上的C++構(gòu)建的異步Web框架。
WebSocket++ :基于C++/Boost Aiso的websocket 客戶端/服務(wù)器庫
ZeroMQ :高速歉闰,模塊化的異步通信庫) G8 y5 ]? `' H% Y' \9 C
物理學(xué)動力學(xué)仿真引擎
Box2D:2D的游戲物理引擎辖众。
Bullet :3D的游戲物理引擎。
Chipmunk :快速和敬,輕量級的2D游戲物理庫
LiquidFun:2D的游戲物理引擎
ODE :開放動力學(xué)引擎-開源凹炸,高性能庫,模擬剛體動力學(xué)昼弟。
ofxBox2d:Box2D開源框架包裝器啤它。
Simbody :高性能C++多體動力學(xué)/物理庫,模擬關(guān)節(jié)生物力學(xué)和機(jī)械系統(tǒng)私杜,像車輛蚕键,機(jī)器人和人體骨骼。1 [; p3 p2 O$ G
機(jī)器人學(xué)
MOOS-IvP :一組開源C++模塊衰粹,提供機(jī)器人平臺的自主權(quán)锣光,尤其是自主的海洋車輛。
MRPT:移動機(jī)器人編程工具包
PCL :點(diǎn)云庫是一個(gè)獨(dú)立的铝耻,大規(guī)模的開放項(xiàng)目誊爹,用于2D/3D圖像和點(diǎn)云處理。
Robotics Library (RL): 一個(gè)獨(dú)立的C++庫瓢捉,包括機(jī)器人動力學(xué)频丘,運(yùn)動規(guī)劃和控制。
RobWork:一組C++庫的集合泡态,用于機(jī)器人系統(tǒng)的仿真和控制搂漠。
ROS :機(jī)器人操作系統(tǒng),提供了一些庫和工具幫助軟件開發(fā)人員創(chuàng)建機(jī)器人應(yīng)用程序某弦。
科學(xué)計(jì)算
FFTW :用一維或者多維計(jì)算DFT的C語言庫桐汤。
GSL:GNU科學(xué)庫而克。
腳本
ChaiScript :用于C++的易于使用的嵌入式腳本語言。
Lua :用于配置文件和基本應(yīng)用程序腳本的小型快速腳本引擎怔毛。
luacxx:用于創(chuàng)建Lua綁定的C++ 11 API
SWIG :一個(gè)可以讓你的C++代碼鏈接到JavaScript员萍,Perl,PHP拣度,Python碎绎,Tcl和Ruby的包裝器/接口生成器
V7:嵌入式的JavaScript 引擎。
V8 :谷歌的快速JavaScript引擎抗果,可以被嵌入到任何C++應(yīng)用程序中筋帖。
序列化
Cap’n Proto :快速數(shù)據(jù)交換格式和RPC系統(tǒng)。
cereal :C++11 序列化庫
FlatBuffers :內(nèi)存高效的序列化庫
MessagePack :C/C++的高效二進(jìn)制序列化庫冤馏,例如 JSON
protobuf :協(xié)議緩沖幕随,谷歌的數(shù)據(jù)交換格式。
protobuf-c :C語言的協(xié)議緩沖實(shí)現(xiàn)
SimpleBinaryEncoding:用于低延遲應(yīng)用程序的對二進(jìn)制格式的應(yīng)用程序信息的編碼和解碼宿接。
Thrift :高效的跨語言IPC/RPC,用于C++辕录,Java睦霎,Python,PHP走诞,C#和其它多種語言中副女,最初由Twitter開發(fā)。
視頻
libvpx :VP8/VP9編碼解碼SDK
FFmpeg :一個(gè)完整的蚣旱,跨平臺的解決方案碑幅,用于記錄,轉(zhuǎn)換視頻和音頻流塞绿。
libde265 :開放的h.265視頻編解碼器的實(shí)現(xiàn)沟涨。
OpenH264:開源H.364 編解碼器。
Theora :免費(fèi)開源的視頻壓縮格式异吻。- ?) w7 z, {( ^: K; r0 p4 X
虛擬機(jī)
CarpVM:C中有趣的VM裹赴,讓我們一起來看看這個(gè)。
MicroPython :旨在實(shí)現(xiàn)單片機(jī)上Python3.x的實(shí)現(xiàn)
TinyVM:用純粹的ANSI C編寫的小型诀浪,快速棋返,輕量級的虛擬機(jī)。
Web應(yīng)用框架
Civetweb :提供易于使用雷猪,強(qiáng)大的睛竣,C/C++嵌入式Web服務(wù)器,帶有可選的CGI求摇,SSL和Lua支持射沟。
CppCMS :免費(fèi)高性能的Web開發(fā)框架(不是 CMS).
Crow :一個(gè)C++微型web框架(靈感來自于Python Flask)
Kore :使用C語言開發(fā)的用于web應(yīng)用程序的超快速和靈活的web服務(wù)器/框架殊者。
libOnion:輕量級的庫,幫助你使用C編程語言創(chuàng)建web服務(wù)器躏惋。
QDjango:使用C++編寫的幽污,基于Qt庫的web框架,試圖效仿Django API簿姨,因此得此名距误。
Wt :開發(fā)Web應(yīng)用的C++庫。
XMLXML就是個(gè)垃圾扁位,xml的解析很煩人准潭,對于計(jì)算機(jī)它也是個(gè)災(zāi)難忠售。這種糟糕的東西完全沒有存在的理由了杆逗∈觯——Linus Torvalds " X, R+ J4 `: R: J
Expat :用C語言編寫的xml解析庫
Libxml2 :Gnome的xml C解析器和工具包
libxml++ :C++的xml解析器
PugiXML :用于C++的偿警,支持XPath的輕量級漾橙,簡單快速的XML解析器科平。
RapidXml :試圖創(chuàng)建最快速的XML解析器校镐,同時(shí)保持易用性衣厘,可移植性和合理的W3C兼容性垦细。
TinyXML :簡單小型的C++XML解析器择镇,可以很容易地集成到其它項(xiàng)目中。
TinyXML2:簡單快速的C++CML解析器括改,可以很容易集成到其它項(xiàng)目中腻豌。
TinyXML++:TinyXML的一個(gè)全新的接口,使用了C++的許多許多優(yōu)勢嘱能,模板吝梅,異常和更好的異常處理。
Xerces-C++ :用可移植的C++的子集編寫的XML驗(yàn)證解析器惹骂。. b) }& [& u/ J0 J
多項(xiàng)混雜一些有用的庫或者工具苏携,但是不適合上面的分類,或者還沒有分類析苫。
C++ Format :C++的小型兜叨,安全和快速格式化庫
casacore :從aips++ 派生的一系列C++核心庫
cxx-prettyprint:用于C++容器的打印庫
DynaPDF :易于使用的PDF生成庫
gcc-poison :幫助開發(fā)人員禁止應(yīng)用程序中的不安全的C/C++函數(shù)的簡單的頭文件。
googlemock:編寫和使用C++模擬類的庫
HTTP Parser :C的http請求/響應(yīng)解析器
libcpuid :用于x86 CPU檢測盒特征提取的小型C庫
libevil :許可證管理器
libusb:允許移動訪問USB設(shè)備的通用USB庫
PCRE:正則表達(dá)式C庫衩侥,靈感來自于Perl中正則表達(dá)式的功能国旷。
Remote Call Framework :C++的進(jìn)程間通信框架。
Scintilla :開源的代碼編輯控件
Serial Communication Library :C++語言編寫的跨平臺茫死,串口庫跪但。
SDS:C的簡單動態(tài)字符串庫
SLDR :超輕的DNS解析器
SLRE: 超輕的正則表達(dá)式庫
Stage :移動機(jī)器人模擬器
VarTypes:C++/Qt4功能豐富,面向?qū)ο蟮墓芾碜兞康目蚣堋?/p>
ZBar:‘條形碼掃描器’庫,可以掃描照片屡久,圖片和視頻流中的條形碼忆首,并返回結(jié)果。
CppVerbalExpressions :易于使用的C++正則表達(dá)式
QtVerbalExpressions:基于C++ VerbalExpressions 庫的Qt庫
PHP-CPP:使用C++來構(gòu)建PHP擴(kuò)展的庫
Better String :C的另一個(gè)字符串庫被环,功能更豐富糙及,但是沒有緩沖溢出問題,還包含了一個(gè)C++包裝器筛欢。5 ?& A6 ?( G: K: L& \
軟件用于創(chuàng)建開發(fā)環(huán)境的軟件 , S/ c4 Q/ w) J5 K) d' v
編譯器
Clang :由蘋果公司開發(fā)的
GCC:GNU編譯器集合
Intel C++ Compiler :由英特爾公司開發(fā)
LLVM :模塊化和可重用編譯器和工具鏈技術(shù)的集合
Microsoft Visual C++ :MSVC浸锨,由微軟公司開發(fā)
Open WatCom :Watcom,C版姑,C++和Fortran交叉編譯器和工具
TCC :輕量級的C語言編譯器
在線編譯器
codepad :在線編譯器/解釋器柱搜,一個(gè)簡單的協(xié)作工具
CodeTwist:一個(gè)簡單的在線編譯器/解釋器,你可以粘貼的C,C++或者Java代碼剥险,在線執(zhí)行并查看結(jié)果
coliru :在線編譯器/shell聪蘸, 支持各種C++編譯器
Compiler Explorer:交互式編譯器,可以進(jìn)行匯編輸出
CompileOnline:Linux上在線編譯和執(zhí)行C++程序
Ideone :一個(gè)在線編譯器和調(diào)試工具表制,允許你在線編譯源代碼并執(zhí)行健爬,支持60多種編程語言。? l$ h5 B( B# H. q7 Q- ^1 }
調(diào)試器
Comparison of debuggers :來自維基百科的調(diào)試器列表
GDB :GNU調(diào)試器
Valgrind:內(nèi)存調(diào)試么介,內(nèi)存泄露檢測浑劳,性能分析工具。
集成開發(fā)環(huán)境(IDE)
AppCode :構(gòu)建與JetBrains’ IntelliJ IDEA 平臺上的用于Objective-C夭拌,C,C++,Java和Java開發(fā)的集成開發(fā)環(huán)境
CLion:來自JetBrains的跨平臺的C/C++的集成開發(fā)環(huán)境
Code::Blocks :免費(fèi)C衷咽,C++和Fortran的集成開發(fā)環(huán)境
CodeLite :另一個(gè)跨平臺的免費(fèi)的C/C++集成開發(fā)環(huán)境
Dev-C++:可移植的C/C++/C++11集成開發(fā)環(huán)境
Eclipse CDT:基于Eclipse平臺的功能齊全的C和C++集成開發(fā)環(huán)境
Geany :輕量級的快速鸽扁,跨平臺的集成開發(fā)環(huán)境。
IBM VisualAge :來自IBM的家庭計(jì)算機(jī)集成開發(fā)環(huán)境镶骗。
Irony-mode:由libclang驅(qū)動的用于Emacs的C/C++微模式
KDevelop:免費(fèi)開源集成開發(fā)環(huán)境
Microsoft Visual Studio :來自微軟的集成開發(fā)環(huán)境
NetBeans :主要用于Java開發(fā)的的集成開發(fā)環(huán)境桶现,也支持其他語言,尤其是PHP鼎姊,C/C++和HTML5骡和。
Qt Creator:跨平臺的C++,Javascript和QML集成開發(fā)環(huán)境相寇,也是Qt SDK的一部分慰于。
rtags:C/C++的客戶端服務(wù)器索引,用于 跟基于clang的emacs的集成
Xcode :由蘋果公司開發(fā)
YouCompleteMe:一個(gè)用于Vim的根據(jù)你敲的代碼快速模糊搜索并進(jìn)行代碼補(bǔ)全的引擎唤衫。1 r) M3 D" I( x, ?/ ^+ U
構(gòu)建系統(tǒng)
Bear :用于為clang工具生成編譯數(shù)據(jù)庫的工具
Biicode:基于文件的簡單依賴管理器婆赠。
CMake :跨平臺的免費(fèi)開源軟件用于管理軟件使用獨(dú)立編譯的方法進(jìn)行構(gòu)建的過程。
CPM:基于CMake和Git的C++包管理器
FASTBuild:高性能佳励,開源的構(gòu)建系統(tǒng)休里,支持高度可擴(kuò)展性的編譯蛆挫,緩沖和網(wǎng)絡(luò)分布。
Ninja :專注于速度的小型構(gòu)建系統(tǒng)
Scons :使用Python scipt 配置的軟件構(gòu)建工具
tundra :高性能的代碼構(gòu)建系統(tǒng)妙黍,甚至對于非常大型的軟件項(xiàng)目悴侵,也能提供最好的增量構(gòu)建次數(shù)。
tup:基于文件的構(gòu)建系統(tǒng)拭嫁,用于后臺監(jiān)控變化的文件可免。4 k1 G+ r4 h4 m5 m- e9 r
靜態(tài)代碼分析
Cppcheck :靜態(tài)C/C++代碼分析工具
include-what-you-use :使用clang進(jìn)行代碼分析的工具,可以#include在C和C++文件中噩凹。
OCLint :用于C巴元,C++和Objective-C的靜態(tài)源代碼分析工具,用于提高質(zhì)量驮宴,減少瑕疵逮刨。
Clang Static Analyzer:查找C,C++和Objective-C程序bug的源代碼分析工具
List of tools for static code analysis :來自維基百科的靜態(tài)代碼分析工具列表
:C++是在C語言的基礎(chǔ)上開發(fā)的一種集面向?qū)ο缶幊潭略蟆⒎盒途幊毯瓦^程化編程于一體的編程語言修己。應(yīng)用較為廣泛,是一種靜態(tài)數(shù)據(jù)類型檢查的迎罗,支持多重編程的通用程序設(shè)計(jì)語言睬愤。
關(guān)于 C++ 框架、庫和資源的一些匯總列表纹安,由 fffaraz發(fā)起和維護(hù)尤辱。
內(nèi)容包括:標(biāo)準(zhǔn)庫、Web應(yīng)用框架厢岂、人工智能光督、數(shù)據(jù)庫、圖片處理塔粒、機(jī)器學(xué)習(xí)结借、日志、代碼分析等卒茬。
標(biāo)準(zhǔn)庫
C++ Standard Library:是一系列類和函數(shù)的集合船老,使用核心語言編寫,也是C++ISO自身標(biāo)準(zhǔn)的一部分圃酵。
Standard Template Library:標(biāo)準(zhǔn)模板庫
C POSIX library : POSIX系統(tǒng)的C標(biāo)準(zhǔn)庫規(guī)范
ISO C++ Standards Committee :C++標(biāo)準(zhǔn)委員會
框架
C++通用框架和庫 8 @2 K3 w2 H. W4 g4 ~, A3 t
Apache C++ Standard Library:是一系列算法柳畔,容器,迭代器和其他基本組件的集合
ASL :Adobe源代碼庫提供了同行的評審和可移植的C++源代碼庫郭赐。
Boost :大量通用C++庫的集合荸镊。
BDE :來自于彭博資訊實(shí)驗(yàn)室的開發(fā)環(huán)境。
Cinder:提供專業(yè)品質(zhì)創(chuàng)造性編碼的開源開發(fā)社區(qū)。
Cxxomfort:輕量級的躬存,只包含頭文件的庫张惹,將C++ 11的一些新特性移植到C++03中。
Dlib:使用契約式編程和現(xiàn)代C++科技設(shè)計(jì)的通用的跨平臺的C++庫岭洲。
EASTL :EA-STL公共部分
ffead-cpp :企業(yè)應(yīng)用程序開發(fā)框架
Folly:由Facebook開發(fā)和使用的開源C++庫
JUCE :包羅萬象的C++類庫宛逗,用于開發(fā)跨平臺軟件
libPhenom:用于構(gòu)建高性能和高度可擴(kuò)展性系統(tǒng)的事件框架。
LibSourcey :用于實(shí)時(shí)的視頻流和高性能網(wǎng)絡(luò)應(yīng)用程序的C++11 evented IO
LibU : C語言寫的多平臺工具庫
Loki :C++庫的設(shè)計(jì)盾剩,包括常見的設(shè)計(jì)模式和習(xí)語的實(shí)現(xiàn)雷激。
MiLi :只含頭文件的小型C++庫
openFrameworks :開發(fā)C++工具包,用于創(chuàng)意性編碼告私。
Qt :跨平臺的應(yīng)用程序和用戶界面框架
Reason :跨平臺的框架屎暇,使開發(fā)者能夠更容易地使用Java,.Net和Python驻粟,同時(shí)也滿足了他們對C++性能和優(yōu)勢的需求根悼。
ROOT :具備所有功能的一系列面向?qū)ο蟮目蚣埽軌蚍浅8咝У靥幚砗头治龃罅康臄?shù)據(jù)蜀撑,為歐洲原子能研究機(jī)構(gòu)所用挤巡。
STLport:是STL具有代表性的版本
STXXL:用于額外的大型數(shù)據(jù)集的標(biāo)準(zhǔn)模板庫。
Ultimate++ :C++跨平臺快速應(yīng)用程序開發(fā)框架
Windows Template Library:用于開發(fā)Windows應(yīng)用程序和UI組件的C++庫
Yomm11 :C++11的開放multi-methods.
人工智能
btsk :游戲行為樹啟動器工具
Evolving Objects:基于模板的酷麦,ANSI C++演化計(jì)算庫矿卑,能夠幫助你非常快速地編寫出自己的隨機(jī)優(yōu)化算法沃饶。
Neu:C++11框架母廷,編程語言集,用于創(chuàng)建人工智能應(yīng)用程序的多用途軟件系統(tǒng)糊肤。; o3 D( Q+ A' [% I4 Y! X3 m
異步事件循環(huán)
Boost.Asio:用于網(wǎng)絡(luò)和底層I/O編程的跨平臺的C++庫徘意。
libev :功能齊全,高性能的時(shí)間循環(huán)轩褐,輕微地仿效libevent,但是不再像libevent一樣有局限性玖详,也修復(fù)了它的一些bug把介。
libevent :事件通知庫
libuv :跨平臺異步I/O。
音頻
音頻蟋座,聲音拗踢,音樂,數(shù)字化音樂庫 - S, c$ _! u4 |6 d
FMOD :易于使用的跨平臺的音頻引擎和音頻內(nèi)容的游戲創(chuàng)作工具向臀。
Maximilian :C++音頻和音樂數(shù)字信號處理庫
OpenAL :開源音頻庫—跨平臺的音頻API
Opus:一個(gè)完全開放的巢墅,免版稅的,高度通用的音頻編解碼器
Speex:免費(fèi)編解碼器,為Opus所廢棄
Tonic: C++易用和高效的音頻合成
Vorbis: Ogg Vorbis是一種完全開放的君纫,非專有的驯遇,免版稅的通用壓縮音頻格式。
生態(tài)學(xué)
生物信息蓄髓,基因組學(xué)和生物技術(shù) 8 e? L? t7 X6 l0 B
libsequence:用于表示和分析群體遺傳學(xué)數(shù)據(jù)的C++庫叉庐。
SeqAn:專注于生物數(shù)據(jù)序列分析的算法和數(shù)據(jù)結(jié)構(gòu)。
Vcflib :用于解析和處理VCF文件的C++庫
Wham:直接把聯(lián)想測試應(yīng)用到BAM文件的基因結(jié)構(gòu)變異会喝。
壓縮
壓縮和歸檔庫 $ X/ Y( n+ t8 q( y' h
bzip2:一個(gè)完全免費(fèi)陡叠,免費(fèi)專利和高質(zhì)量的數(shù)據(jù)壓縮
doboz:能夠快速解壓縮的壓縮庫
PhysicsFS:對各種歸檔提供抽象訪問的庫,主要用于視頻游戲肢执,設(shè)計(jì)靈感部分來自于Quake3的文件子系統(tǒng)枉阵。
KArchive:用于創(chuàng)建,讀寫和操作文件檔案(例如zip和 tar)的庫预茄,它通過QIODevice的一系列子類兴溜,使用gzip格式,提供了透明的壓縮和解壓縮的數(shù)據(jù)反璃。
LZ4 :非酬腔牛快速的壓縮算法
LZHAM :無損壓縮數(shù)據(jù)庫,壓縮比率跟LZMA接近淮蜈,但是解壓縮速度卻要快得多斋攀。
LZMA :7z格式默認(rèn)和通用的壓縮方法。
LZMAT :及其快速的實(shí)時(shí)無損數(shù)據(jù)壓縮庫
miniz:單一的C源文件梧田,緊縮/膨脹壓縮庫淳蔼,使用zlib兼容API裁眯,ZIP歸檔讀寫鹉梨,PNG寫方式。
Minizip:Zlib最新bug修復(fù)穿稳,支持PKWARE磁盤跨越存皂,AES加密和IO緩沖。
Snappy :快速壓縮和解壓縮
ZLib :非常緊湊的數(shù)據(jù)流壓縮庫
ZZIPlib:提供ZIP歸檔的讀權(quán)限逢艘。8 Q3 I* D8 w1 T; {/ z. m) Y! b
并發(fā)性
并發(fā)執(zhí)行和多線程
Boost.Compute :用于OpenCL的C++GPU計(jì)算庫
Bolt :針對GPU進(jìn)行優(yōu)化的C++模板庫
C++React :用于C++11的反應(yīng)性編程庫
Intel TBB :Intel線程構(gòu)件塊
Libclsph:基于OpenCL的GPU加速SPH流體仿真庫
OpenCL :并行編程的異構(gòu)系統(tǒng)的開放標(biāo)準(zhǔn)
OpenMP:OpenMP API
Thrust :類似于C++標(biāo)準(zhǔn)模板庫的并行算法庫
HPX :用于任何規(guī)模的并行和分布式應(yīng)用程序的通用C++運(yùn)行時(shí)系統(tǒng)
VexCL :用于OpenCL/CUDA 的C++向量表達(dá)式模板庫旦袋。( q; S+ I5 t- X' L6 q
容器
C++ B-tree :基于B樹數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)命令內(nèi)存容器的模板庫
Hashmaps: C++中開放尋址哈希表算法的實(shí)現(xiàn)
密碼學(xué)
Bcrypt :一個(gè)跨平臺的文件加密工具它改,加密文件可以移植到所有可支持的操作系統(tǒng)和處理器中疤孕。
BeeCrypt:
Botan: C++加密庫
Crypto++:一個(gè)有關(guān)加密方案的免費(fèi)的C++庫
GnuPG: OpenPGP標(biāo)準(zhǔn)的完整實(shí)現(xiàn)
GnuTLS :實(shí)現(xiàn)了SSL,TLS和DTLS協(xié)議的安全通信庫
Libgcrypt
libmcrypt
LibreSSL:免費(fèi)的SSL/TLS協(xié)議央拖,屬于2014 OpenSSL的一個(gè)分支
LibTomCrypt:一個(gè)非常全面的祭阀,模塊化的鹉戚,可移植的加密工具
libsodium:基于NaCI的加密庫,固執(zhí)己見专控,容易使用
Nettle 底層的加密庫
OpenSSL : 一個(gè)強(qiáng)大的抹凳,商用的,功能齊全的踩官,開放源代碼的加密庫却桶。
Tiny AES128 in C :用C實(shí)現(xiàn)的一個(gè)小巧,可移植的實(shí)現(xiàn)了AES128ESB的加密算法
數(shù)據(jù)庫
數(shù)據(jù)庫蔗牡,SQL服務(wù)器颖系,ODBC驅(qū)動程序和工具 % ^0 S% {& R- n+ o, \" e: G$ C
hiberlite :用于Sqlite3的C++對象關(guān)系映射
Hiredis: 用于Redis數(shù)據(jù)庫的很簡單的C客戶端庫
LevelDB: 快速鍵值存儲庫
LMDB:符合數(shù)據(jù)庫四大基本元素的嵌入鍵值存儲
MySQL++:封裝了MySql的C API的C++ 包裝器
RocksDB:來自Facebook的嵌入鍵值的快速存儲
SQLite:一個(gè)完全嵌入式的,功能齊全的關(guān)系數(shù)據(jù)庫辩越,只有幾百KB嘁扼,可以正確包含到你的項(xiàng)目中。7 |" g. p7 `! y7 r: z( q" L? p
調(diào)試
調(diào)試庫黔攒, 內(nèi)存和資源泄露檢測趁啸,單元測試 5 s) J% x1 \$ j2 {
Boost.Test:Boost測試庫
Catch:一個(gè)很時(shí)尚的,C++原生的框架督惰,只包含頭文件不傅,用于單元測試,測試驅(qū)動開發(fā)和行為驅(qū)動開發(fā)赏胚。
CppUnit:由JUnit移植過來的C++測試框架
CTest:CMake測試驅(qū)動程序
googletest:谷歌C++測試框架
ig-debugheap:用于跟蹤內(nèi)存錯(cuò)誤的多平臺調(diào)試堆
libtap:用C語言編寫測試
MemTrack —用于C++跟蹤內(nèi)存分配
microprofile- 跨平臺的網(wǎng)絡(luò)試圖分析器
minUnit :使用C寫的迷你單元測試框架访娶,只使用了兩個(gè)宏
Remotery:用于web視圖的單一C文件分析器
UnitTest++:輕量級的C++單元測試框架) P3 h2 _. {2 k- S
游戲引擎
Cocos2d-x :一個(gè)跨平臺框架,用于構(gòu)建2D游戲觉阅,互動圖書崖疤,演示和其他圖形應(yīng)用程序。
Grit :社區(qū)項(xiàng)目典勇,用于構(gòu)建一個(gè)免費(fèi)的游戲引擎劫哼,實(shí)現(xiàn)開放的世界3D游戲。
Irrlicht :C++語言編寫的開源高性能的實(shí)時(shí)#D引擎
Polycode:C++實(shí)現(xiàn)的用于創(chuàng)建游戲的開源框架(與Lua綁定)割笙。
圖形用戶界面
CEGUI : 很靈活的跨平臺GUI庫
FLTK :快速权烧,輕量級的跨平臺的C++GUI工具包。
GTK+: 用于創(chuàng)建圖形用戶界面的跨平臺工具包
gtkmm :用于受歡迎的GUI庫GTK+的官方C++接口伤溉。
imgui:擁有最小依賴關(guān)系的立即模式圖形用戶界面
libRocket : libRocket 是一個(gè)C++ HTML/CSS 游戲接口中間件
MyGUI :快速般码,靈活,簡單的GUI
Ncurses:終端用戶界面
QCustomPlot :沒有更多依賴關(guān)系的Qt繪圖控件
Qwt :用戶與技術(shù)應(yīng)用的Qt 控件
QwtPlot3D :功能豐富的基于Qt/OpenGL的C++編程庫谈火,本質(zhì)上提供了一群3D控件
OtterUI : OtterUI 是用于嵌入式系統(tǒng)和互動娛樂軟件的用戶界面開發(fā)解決方案
PDCurses 包含源代碼和預(yù)編譯庫的公共圖形函數(shù)庫
wxWidgets C++庫,允許開發(fā)人員使用一個(gè)代碼庫可以為widows舌涨, Mac OS X糯耍,Linux和其他平臺創(chuàng)建應(yīng)用程序8 [, _! Q; z1 E* v+ G
圖形
bgfx:跨平臺的渲染庫
Cairo:支持多種輸出設(shè)備的2D圖形庫
Horde3D 一個(gè)小型的3D渲染和動畫引擎
magnum C++11和OpenGL 2D/3D 圖形引擎
Ogre 3D 用C++編寫的一個(gè)面向場景扔字,實(shí)時(shí),靈活的3D渲染引擎(并非游戲引擎)
OpenSceneGraph 具有高性能的開源3D圖形工具包
Panda3D 用于3D渲染和游戲開發(fā)的框架温技,用Python和C++編寫革为。
Skia 用于繪制文字,圖形和圖像的完整的2D圖形庫
urho3d 跨平臺的渲染和游戲引擎舵鳞。* _; P4 t! Z0 N7 {
圖像處理
Boost.GIL:通用圖像庫
CImg :用于圖像處理的小型開源C++工具包
CxImage :用于加載震檩,保存,顯示和轉(zhuǎn)換的圖像處理和轉(zhuǎn)換庫蜓堕,可以處理的圖片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K抛虏。
FreeImage :開源庫,支持現(xiàn)在多媒體應(yīng)用所需的通用圖片格式和其他格式套才。
GDCM:Grassroots DICOM 庫
ITK:跨平臺的開源圖像分析系統(tǒng)
Magick++:ImageMagick程序的C++接口
MagickWnd:ImageMagick程序的C++接口
OpenCV : 開源計(jì)算機(jī)視覺類庫
tesseract-ocr:OCR引擎
VIGRA :用于圖像分析通用C++計(jì)算機(jī)視覺庫
VTK :用于3D計(jì)算機(jī)圖形學(xué)迂猴,圖像處理和可視化的開源免費(fèi)軟件系統(tǒng)。
國際化
gettext :GNU `gettext’
IBM ICU:提供Unicode 和全球化支持的C背伴、C++ 和Java庫
libiconv :用于不同字符編碼之間的編碼轉(zhuǎn)換庫
Jason
frozen : C/C++的Jason解析生成器
Jansson :進(jìn)行編解碼和處理Jason數(shù)據(jù)的C語言庫
jbson :C++14中構(gòu)建和迭代BSON data,和Json 文檔的庫
JeayeSON:非常健全的C++ JSON庫沸毁,只包含頭文件
JSON++ : C++ JSON 解析器
json-parser:用可移植的ANSI C編寫的JSON解析器,占用內(nèi)存非常少
json11 :一個(gè)迷你的C++11 JSON庫
jute :非常簡單的C++ JSON解析器
ibjson:C語言中的JSON解析和打印庫傻寂,很容易和任何模型集成息尺。
libjson:輕量級的JSON庫
PicoJSON:C++中JSON解析序列化,只包含頭文件
qt-json :用于JSON數(shù)據(jù)和 QVariant層次間的相互解析的簡單類
QJson:將JSON數(shù)據(jù)映射到QVariant對象的基于Qt的庫
RapidJSON: 用于C++的快速JSON 解析生成器疾掰,包含SAX和DOM兩種風(fēng)格的API
YAJL :C語言中快速流JSON解析庫
日志
Boost.Log :設(shè)計(jì)非常模塊化搂誉,并且具有擴(kuò)展性
easyloggingpp:C++日志庫,只包含單一的頭文件个绍。
Log4cpp :一系列C++類庫勒葱,靈活添加日志到文件,系統(tǒng)日志巴柿,IDSA和其他地方凛虽。
templog:輕量級C++庫,可以添加日志到你的C++應(yīng)用程序中
機(jī)器學(xué)習(xí)
Caffe :快速的神經(jīng)網(wǎng)絡(luò)框架
CCV :以C語言為核心的現(xiàn)代計(jì)算機(jī)視覺庫
mlpack :可擴(kuò)展的C++機(jī)器學(xué)習(xí)庫
OpenCV:開源計(jì)算機(jī)視覺庫
Recommender:使用協(xié)同過濾進(jìn)行產(chǎn)品推薦/建議的C語言庫广恢。
SHOGUN:Shogun 機(jī)器學(xué)習(xí)工具
sofia-ml :用于機(jī)器學(xué)習(xí)的快速增量算法套件
數(shù)學(xué)
Armadillo :高質(zhì)量的C++線性代數(shù)庫凯旋,速度和易用性做到了很好的平衡。語法和MatlAB很相似
blaze:高性能的C++數(shù)學(xué)庫钉迷,用于密集和稀疏算法至非。
ceres-solver :來自谷歌的C++庫,用于建模和解決大型復(fù)雜非線性最小平方問題糠聪。
CGal: 高效荒椭,可靠的集合算法集合
cml :用于游戲和圖形的免費(fèi)C++數(shù)學(xué)庫
Eigen :高級C++模板頭文件庫,包括線性代數(shù)舰蟆,矩陣趣惠,向量操作狸棍,數(shù)值解決和其他相關(guān)的算法。
GMTL:數(shù)學(xué)圖形模板庫是一組廣泛實(shí)現(xiàn)基本圖形的工具味悄。
GMP:用于個(gè)高精度計(jì)算的C/C++庫草戈,處理有符號整數(shù),有理數(shù)和浮點(diǎn)數(shù)侍瑟。1 d" h7 l$ \( |+ @0 w: I
多媒體
GStreamer :構(gòu)建媒體處理組件圖形的庫
LIVE555 Streaming Media :使用開放標(biāo)準(zhǔn)協(xié)議(RTP/RTCP, RTSP, SIP) 的多媒體流庫
libVLC :libVLC (VLC SDK)媒體框架
QtAv:基于Qt和FFmpeg的多媒體播放框架唐片,能夠幫助你輕而易舉地編寫出一個(gè)播放器
SDL :簡單直控媒體層
SFML :快速,簡單的多媒體庫5 l) w( z0 ^0 B& s/ M; w0 W
網(wǎng)絡(luò)
ACE:C++面向?qū)ο缶W(wǎng)絡(luò)變成工具包
Boost.Asio:用于網(wǎng)絡(luò)和底層I/O編程的跨平臺的C++庫
Casablanca:C++ REST SDK
cpp-netlib:高級網(wǎng)絡(luò)編程的開源庫集合
Dyad.c:C語言的異步網(wǎng)絡(luò)
libcurl :多協(xié)議文件傳輸庫
Mongoose:非常輕量級的網(wǎng)絡(luò)服務(wù)器
Muduo :用于Linux多線程服務(wù)器的C++非阻塞網(wǎng)絡(luò)庫
net_skeleton :C/C++的TCP 客戶端/服務(wù)器庫
nope.c :基于C語言的超輕型軟件平臺涨颜,用于可擴(kuò)展的服務(wù)器端和網(wǎng)絡(luò)應(yīng)用费韭。 對于C編程人員,可以考慮node.js
Onion :C語言HTTP服務(wù)器庫咐低,其設(shè)計(jì)為輕量級揽思,易使用。
POCO:用于構(gòu)建網(wǎng)絡(luò)和基于互聯(lián)網(wǎng)應(yīng)用程序的C++類庫见擦,可以運(yùn)行在桌面钉汗,服務(wù)器,移動和嵌入式系統(tǒng)鲤屡。
RakNet:為游戲開發(fā)人員提供的跨平臺的開源C++網(wǎng)絡(luò)引擎损痰。
Tuf o :用于Qt之上的C++構(gòu)建的異步Web框架。
WebSocket++ :基于C++/Boost Aiso的websocket 客戶端/服務(wù)器庫
ZeroMQ :高速酒来,模塊化的異步通信庫) G8 y5 ]? `' H% Y' \9 C
物理學(xué)
動力學(xué)仿真引擎
Box2D:2D的游戲物理引擎卢未。
Bullet :3D的游戲物理引擎。
Chipmunk :快速堰汉,輕量級的2D游戲物理庫
LiquidFun:2D的游戲物理引擎
ODE :開放動力學(xué)引擎-開源辽社,高性能庫,模擬剛體動力學(xué)翘鸭。
ofxBox2d:Box2D開源框架包裝器滴铅。
Simbody :高性能C++多體動力學(xué)/物理庫,模擬關(guān)節(jié)生物力學(xué)和機(jī)械系統(tǒng)就乓,像車輛汉匙,機(jī)器人和人體骨骼。1 [; p3 p2 O$ G
機(jī)器人學(xué)
MOOS-IvP :一組開源C++模塊生蚁,提供機(jī)器人平臺的自主權(quán)噩翠,尤其是自主的海洋車輛。
MRPT:移動機(jī)器人編程工具包
PCL :點(diǎn)云庫是一個(gè)獨(dú)立的邦投,大規(guī)模的開放項(xiàng)目伤锚,用于2D/3D圖像和點(diǎn)云處理。
Robotics Library (RL): 一個(gè)獨(dú)立的C++庫志衣,包括機(jī)器人動力學(xué)屯援,運(yùn)動規(guī)劃和控制剂娄。
RobWork:一組C++庫的集合,用于機(jī)器人系統(tǒng)的仿真和控制玄呛。
ROS :機(jī)器人操作系統(tǒng),提供了一些庫和工具幫助軟件開發(fā)人員創(chuàng)建機(jī)器人應(yīng)用程序和二。
科學(xué)計(jì)算
FFTW :用一維或者多維計(jì)算DFT的C語言庫徘铝。
GSL:GNU科學(xué)庫。
腳本
ChaiScript :用于C++的易于使用的嵌入式腳本語言惯吕。
Lua :用于配置文件和基本應(yīng)用程序腳本的小型快速腳本引擎惕它。
luacxx:用于創(chuàng)建Lua綁定的C++ 11 API
SWIG :一個(gè)可以讓你的C++代碼鏈接到JavaScript,Perl废登,PHP淹魄,Python,Tcl和Ruby的包裝器/接口生成器
V7:嵌入式的JavaScript 引擎堡距。
V8 :谷歌的快速JavaScript引擎甲锡,可以被嵌入到任何C++應(yīng)用程序中。
序列化
Cap’n Proto :快速數(shù)據(jù)交換格式和RPC系統(tǒng)羽戒。
cereal :C++11 序列化庫
FlatBuffers :內(nèi)存高效的序列化庫
MessagePack :C/C++的高效二進(jìn)制序列化庫缤沦,例如 JSON
protobuf :協(xié)議緩沖,谷歌的數(shù)據(jù)交換格式易稠。
protobuf-c :C語言的協(xié)議緩沖實(shí)現(xiàn)
SimpleBinaryEncoding:用于低延遲應(yīng)用程序的對二進(jìn)制格式的應(yīng)用程序信息的編碼和解碼缸废。
Thrift :高效的跨語言IPC/RPC,用于C++驶社,Java企量,Python,PHP亡电,C#和其它多種語言中届巩,最初由Twitter開發(fā)。
視頻
libvpx :VP8/VP9編碼解碼SDK
FFmpeg :一個(gè)完整的逊抡,跨平臺的解決方案姆泻,用于記錄,轉(zhuǎn)換視頻和音頻流冒嫡。
libde265 :開放的h.265視頻編解碼器的實(shí)現(xiàn)拇勃。
OpenH264:開源H.364 編解碼器。
Theora :免費(fèi)開源的視頻壓縮格式孝凌。- ?) w7 z, {( ^: K; r0 p4 X
虛擬機(jī)
CarpVM:C中有趣的VM方咆,讓我們一起來看看這個(gè)。
MicroPython :旨在實(shí)現(xiàn)單片機(jī)上Python3.x的實(shí)現(xiàn)
TinyVM:用純粹的ANSI C編寫的小型蟀架,快速瓣赂,輕量級的虛擬機(jī)榆骚。
Web應(yīng)用框架
Civetweb :提供易于使用,強(qiáng)大的煌集,C/C++嵌入式Web服務(wù)器妓肢,帶有可選的CGI,SSL和Lua支持苫纤。
CppCMS :免費(fèi)高性能的Web開發(fā)框架(不是 CMS).
Crow :一個(gè)C++微型web框架(靈感來自于Python Flask)
Kore :使用C語言開發(fā)的用于web應(yīng)用程序的超快速和靈活的web服務(wù)器/框架碉钠。
libOnion:輕量級的庫,幫助你使用C編程語言創(chuàng)建web服務(wù)器卷拘。
QDjango:使用C++編寫的喊废,基于Qt庫的web框架,試圖效仿Django API栗弟,因此得此名污筷。
Wt :開發(fā)Web應(yīng)用的C++庫。
XML
XML就是個(gè)垃圾乍赫,xml的解析很煩人瓣蛀,對于計(jì)算機(jī)它也是個(gè)災(zāi)難。這種糟糕的東西完全沒有存在的理由了雷厂【镜耄——Linus Torvalds " X, R+ J4 `: R: J
Expat :用C語言編寫的xml解析庫
Libxml2 :Gnome的xml C解析器和工具包
libxml++ :C++的xml解析器
PugiXML :用于C++的,支持XPath的輕量級罗侯,簡單快速的XML解析器器腋。
RapidXml :試圖創(chuàng)建最快速的XML解析器,同時(shí)保持易用性钩杰,可移植性和合理的W3C兼容性纫塌。
TinyXML :簡單小型的C++XML解析器,可以很容易地集成到其它項(xiàng)目中讲弄。
TinyXML2:簡單快速的C++CML解析器措左,可以很容易集成到其它項(xiàng)目中。
TinyXML++:TinyXML的一個(gè)全新的接口避除,使用了C++的許多許多優(yōu)勢怎披,模板,異常和更好的異常處理瓶摆。
Xerces-C++ :用可移植的C++的子集編寫的XML驗(yàn)證解析器凉逛。. b) }& [& u/ J0 J
多項(xiàng)混雜一些有用的庫或者工具,但是不適合上面的分類群井,或者還沒有分類状飞。
C++ Format :C++的小型,安全和快速格式化庫
casacore :從aips++ 派生的一系列C++核心庫
cxx-prettyprint:用于C++容器的打印庫
DynaPDF :易于使用的PDF生成庫
gcc-poison :幫助開發(fā)人員禁止應(yīng)用程序中的不安全的C/C++函數(shù)的簡單的頭文件。
googlemock:編寫和使用C++模擬類的庫
HTTP Parser :C的http請求/響應(yīng)解析器
libcpuid :用于x86 CPU檢測盒特征提取的小型C庫
libevil :許可證管理器
libusb:允許移動訪問USB設(shè)備的通用USB庫
PCRE:正則表達(dá)式C庫诬辈,靈感來自于Perl中正則表達(dá)式的功能酵使。
Remote Call Framework :C++的進(jìn)程間通信框架。
Scintilla :開源的代碼編輯控件
Serial Communication Library :C++語言編寫的跨平臺焙糟,串口庫口渔。
SDS:C的簡單動態(tài)字符串庫
SLDR :超輕的DNS解析器
SLRE: 超輕的正則表達(dá)式庫
Stage :移動機(jī)器人模擬器
VarTypes:C++/Qt4功能豐富,面向?qū)ο蟮墓芾碜兞康目蚣堋?/p>
ZBar:‘條形碼掃描器’庫穿撮,可以掃描照片搓劫,圖片和視頻流中的條形碼,并返回結(jié)果混巧。
CppVerbalExpressions :易于使用的C++正則表達(dá)式
QtVerbalExpressions:基于C++ VerbalExpressions 庫的Qt庫
PHP-CPP:使用C++來構(gòu)建PHP擴(kuò)展的庫
Better String :C的另一個(gè)字符串庫,功能更豐富勤揩,但是沒有緩沖溢出問題咧党,還包含了一個(gè)C++包裝器。5 ?& A6 ?( G: K: L& \
軟件用于創(chuàng)建開發(fā)環(huán)境的軟件 , S/ c4 Q/ w) J5 K) d' v
編譯器
Clang :由蘋果公司開發(fā)的
GCC:GNU編譯器集合
Intel C++ Compiler :由英特爾公司開發(fā)
LLVM :模塊化和可重用編譯器和工具鏈技術(shù)的集合
Microsoft Visual C++ :MSVC陨亡,由微軟公司開發(fā)
Open WatCom :Watcom傍衡,C,C++和Fortran交叉編譯器和工具
TCC :輕量級的C語言編譯器
在線編譯器
codepad :在線編譯器/解釋器负蠕,一個(gè)簡單的協(xié)作工具
CodeTwist:一個(gè)簡單的在線編譯器/解釋器蛙埂,你可以粘貼的C,C++或者Java代碼,在線執(zhí)行并查看結(jié)果
coliru :在線編譯器/shell遮糖, 支持各種C++編譯器
Compiler Explorer:交互式編譯器绣的,可以進(jìn)行匯編輸出
CompileOnline:Linux上在線編譯和執(zhí)行C++程序
Ideone :一個(gè)在線編譯器和調(diào)試工具,允許你在線編譯源代碼并執(zhí)行欲账,支持60多種編程語言屡江。? l$ h5 B( B# H. q7 Q- ^1 }
調(diào)試器
Comparison of debuggers :來自維基百科的調(diào)試器列表
GDB :GNU調(diào)試器
Valgrind:內(nèi)存調(diào)試,內(nèi)存泄露檢測赛不,性能分析工具惩嘉。
集成開發(fā)環(huán)境(IDE)
AppCode :構(gòu)建與JetBrains’ IntelliJ IDEA 平臺上的用于Objective-C,C,C++踢故,Java和Java開發(fā)的集成開發(fā)環(huán)境
CLion:來自JetBrains的跨平臺的C/C++的集成開發(fā)環(huán)境
Code::Blocks :免費(fèi)C文黎,C++和Fortran的集成開發(fā)環(huán)境
CodeLite :另一個(gè)跨平臺的免費(fèi)的C/C++集成開發(fā)環(huán)境
Dev-C++:可移植的C/C++/C++11集成開發(fā)環(huán)境
Eclipse CDT:基于Eclipse平臺的功能齊全的C和C++集成開發(fā)環(huán)境
Geany :輕量級的快速,跨平臺的集成開發(fā)環(huán)境殿较。
IBM VisualAge :來自IBM的家庭計(jì)算機(jī)集成開發(fā)環(huán)境耸峭。
Irony-mode:由libclang驅(qū)動的用于Emacs的C/C++微模式
KDevelop:免費(fèi)開源集成開發(fā)環(huán)境
Microsoft Visual Studio :來自微軟的集成開發(fā)環(huán)境
NetBeans :主要用于Java開發(fā)的的集成開發(fā)環(huán)境,也支持其他語言淋纲,尤其是PHP抓艳,C/C++和HTML5。
Qt Creator:跨平臺的C++,Javascript和QML集成開發(fā)環(huán)境玷或,也是Qt SDK的一部分儡首。
rtags:C/C++的客戶端服務(wù)器索引,用于 跟基于clang的emacs的集成
Xcode :由蘋果公司開發(fā)
YouCompleteMe:一個(gè)用于Vim的根據(jù)你敲的代碼快速模糊搜索并進(jìn)行代碼補(bǔ)全的引擎偏友。1 r) M3 D" I( x, ?/ ^+ U
構(gòu)建系統(tǒng)
Bear :用于為clang工具生成編譯數(shù)據(jù)庫的工具
Biicode:基于文件的簡單依賴管理器蔬胯。
CMake :跨平臺的免費(fèi)開源軟件用于管理軟件使用獨(dú)立編譯的方法進(jìn)行構(gòu)建的過程。
CPM:基于CMake和Git的C++包管理器
FASTBuild:高性能位他,開源的構(gòu)建系統(tǒng)氛濒,支持高度可擴(kuò)展性的編譯,緩沖和網(wǎng)絡(luò)分布鹅髓。
Ninja :專注于速度的小型構(gòu)建系統(tǒng)
Scons :使用Python scipt 配置的軟件構(gòu)建工具
tundra :高性能的代碼構(gòu)建系統(tǒng)舞竿,甚至對于非常大型的軟件項(xiàng)目,也能提供最好的增量構(gòu)建次數(shù)窿冯。
tup:基于文件的構(gòu)建系統(tǒng)骗奖,用于后臺監(jiān)控變化的文件。4 k1 G+ r4 h4 m5 m- e9 r
靜態(tài)代碼分析
Cppcheck :靜態(tài)C/C++代碼分析工具
include-what-you-use :使用clang進(jìn)行代碼分析的工具醒串,可以#include在C和C++文件中执桌。
OCLint :用于C,C++和Objective-C的靜態(tài)源代碼分析工具芜赌,用于提高質(zhì)量仰挣,減少瑕疵。
Clang Static Analyzer:查找C缠沈,C++和Objective-C程序bug的源代碼分析工具
List of tools for static code analysis :來自維基百科的靜態(tài)代碼分析工具列表
文末也給大家膘壶,分享主要有C/C++,Linux洲愤,Nginx香椎,ZeroMQ,MySQL禽篱,Redis畜伐,fastdfs,MongoDB躺率,ZK玛界,流媒體,CDN悼吱,P2P堂飞,K8S圃泡,Docker张足,TCP/IP蛙讥,協(xié)程,DPDK技術(shù),面試技巧方面的資料技術(shù)討論馅精。
感興趣的朋友可以加群:812855908