最全的C++資源大全,純干貨!
最全的C++資源大全,涵蓋人工智能、音頻、生物信息、壓縮、密碼學、機器學習、靜態(tài)編譯等多方面資源,分享給程序猿兄弟們,收藏起來吧~
人工智能
-
btsk:游戲行為樹啟動器工具
https://github.com/aigamedev/btsk
-
Evolving Objects:基于模板的,ANSI C++演化計算庫,能夠幫助你非??焖俚鼐帉懗鲎约旱碾S機優(yōu)化算法。
http://eodev.sourceforge.net/
異步事件循環(huán)
-
Boost.Asio:用于網(wǎng)絡和底層I/O編程的跨平臺的C++庫。
http://think-async.com/
-
libevent:事件通知庫,chrome瀏覽器底層網(wǎng)絡庫。
http://libevent.org/
-
libuv:跨平臺異步I/O
https://github.com/joyent/libuv
音頻
-
FMOD:易于使用的跨平臺的音頻引擎和音頻內(nèi)容的游戲創(chuàng)作工具。
https://www.fmod.com/
-
Maximilian:C++音頻和音樂數(shù)字信號處理庫
https://github.com/micknoise/Maximilian
-
OpenAL:開源音頻庫---跨平臺的音頻API
http://www.openal.org/
-
Opus:一個完全開放的,免版稅的,高度通用的音頻編解碼器
http://opus-codec.org/
-
Speex:免費編解碼器,為Opus所廢棄
https://www.speex.org/
-
Tonic:C++易用和高效的音頻合成
https://github.com/TonicAudio/Tonic
-
Vorbis:Ogg Vorbis是一種完全開放的,非專有的,免版稅的通用壓縮音頻格式。
https://xiph.org/vorbis/
生態(tài)學
-
libsequence:用于表示和分析群體遺傳學數(shù)據(jù)的C++庫。
http://molpopgen.github.io/libsequence/
-
SeqAn:專注于生物數(shù)據(jù)序列分析的算法和數(shù)據(jù)結構。
http://www.seqan.de/
-
Vcflib:用于解析和處理VCF文件的C++庫
https://github.com/vcflib/vcflib
-
Wham:直接把聯(lián)想測試應用到BAM文件的基因結構變異。
https://github.com/zeeev/wham
壓縮
-
bzip2:一個完全免費,免費專利和高質(zhì)量的數(shù)據(jù)壓縮。
http://www.bzip.org/
-
doboz:能夠快速解壓縮的壓縮庫
https://bitbucket.org/attila_afra/doboz/overview
-
PhysicsFS:對各種歸檔提供抽象訪問的庫,主要用于視頻游戲,設計靈感部分來自于Quake3的文件子系統(tǒng)。
https://icculus.org/physfs/
-
KArchive:用于創(chuàng)建,讀寫和操作文件檔案(例如zip和 tar)的庫,它通過QIODevice的一系列子類,使用gzip格式,提供了透明的壓縮和解壓縮的數(shù)據(jù)。
https://cgit.kde.org/karchive.git
-
LZMA :7z格式默認和通用的壓縮方法
http://www.7-zip.org/sdk.html
-
LZMAT :及其快速的實時無損數(shù)據(jù)壓縮庫
http://www.matcode.com/lzmat.htm
-
Minizip:Zlib最新bug修復,支持PKWARE磁盤跨越,AES加密和IO緩沖。
https://github.com/nmoinvaz/minizip
-
ZLib :非常緊湊的數(shù)據(jù)流壓縮庫
http://zlib.net/
-
ZZIPlib:提供ZIP歸檔的讀權限。
http://zziplib.sourceforge.net/
并發(fā)、多線程
-
Boost.Compute:用于OpenCL的C++GPU計算庫
https://github.com/boostorg/compute
-
Bolt:針對GPU進行優(yōu)化的C++模板庫
https://github.com/HSA-Libraries/Bolt
-
C++React:用于C++11的反應性編程庫
https://github.com/schlangster/cpp.react
-
Intel TBB:Intel線程構件塊
https://www.threadingbuildingblocks.org/
-
Libclsph:基于OpenCL的GPU加速SPH流體仿真庫
https://github.com/libclsph/libclsph
-
OpenCL:并行編程的異構系統(tǒng)的開放標準
https://www.khronos.org/opencl/
-
OpenMP:OpenMP API
http://www.openmp.org/
-
Thrust:類似于C++標準模板庫的并行算法庫
http://thrust.github.io/
-
HPX:用于任何規(guī)模的并行和分布式應用程序的通用C++運行時系統(tǒng)
https://github.com/STEllAR-GROUP/hpx/
-
VexCL:用于OpenCL/CUDA 的C++向量表達式模板庫。
https://github.com/ddemidov/vexcl
密碼學
-
Bcrypt:一個跨平臺的文件加密工具,加密文件可以移植到所有可支持的操作系統(tǒng)和處理器中。
http://bcrypt.sourceforge.net/
-
Botan:C++加密庫
https://botan.randombit.net/
-
GnuPG:OpenPGP標準的完整實現(xiàn)
https://www.gnupg.org/
-
GnuTLS:實現(xiàn)了SSL,TLS和DTLS協(xié)議的安全通信庫
https://www.gnutls.org/
-
LibreSSL:免費的SSL/TLS協(xié)議,屬于2014 OpenSSL的一個分支
http://www.libressl.org/
-
LibTomCrypt:一個非常全面的,模塊化的,可移植的加密工具
https://github.com/libtom/libtomcrypt
-
libsodium:基于NaCI的加密庫,固執(zhí)己見,容易使用
https://github.com/jedisct1/libsodium
-
Nettle:底層的加密庫
http://www.lysator.liu.se/~nisse/nettle/
-
OpenSSL:一個強大的,商用的,功能齊全的,開放源代碼的加密庫。
https://www.openssl.org/
-
Tiny AES128 in C :用C實現(xiàn)的一個小巧,可移植的實現(xiàn)了AES128ESB的加密算法
https://github.com/kokke/tiny-AES-c
數(shù)據(jù)庫
-
hiberlite:用于Sqlite3的C++對象關系映射
https://github.com/paulftw/hiberlite
-
Hiredis:用于Redis數(shù)據(jù)庫的很簡單的C客戶端庫
https://github.com/redis/hiredis
-
LevelDB:快速鍵值存儲庫
https://github.com/google/leveldb
-
LMDB:符合數(shù)據(jù)庫四大基本元素的嵌入鍵值存儲
https://symas.com/lmdb/technical/
-
MySQL++:封裝了MySql的C API的C++ 包裝器
https://tangentsoft.com/mysqlpp/home
-
RocksDB:來自Facebook的嵌入鍵值的快速存儲
https://github.com/facebook/rocksdb
-
SQLite:一個完全嵌入式的,功能齊全的關系數(shù)據(jù)庫,只有幾百KB,可以正確包含到你的項目中。
http://www.sqlite.org/
游戲引擎
-
Cocos2d-x:一個跨平臺框架,用于構建2D游戲,互動圖書,演示和其他圖形應用程序。
http://www.cocos2d-x.org/
-
Grit:社區(qū)項目,用于構建一個免費的游戲引擎,實現(xiàn)開放的世界3D游戲。
http://www.gritengine.com/
-
Irrlicht:C++語言編寫的開源高性能的實時3D引擎
http://irrlicht.sourceforge.net/
機器學習
-
Caffe:快速的神經(jīng)網(wǎng)絡框架
https://github.com/BVLC/caffe
-
CCV:以C語言為核心的現(xiàn)代計算機視覺庫
https://github.com/liuliu/ccv
-
mlpack:可擴展的C++機器學習庫
http://www.mlpack.org/
-
Recommender:使用協(xié)同過濾進行產(chǎn)品推薦/建議的C語言庫。
https://github.com/GHamrouni/Recommender
-
SHOGUN:Shogun 機器學習工具
https://github.com/shogun-toolbox/shogun
機器人學
-
MOOS-IvP:一組開源C++模塊,提供機器人平臺的自主權,尤其是自主的海洋車輛。
http://oceanai.mit.edu/moos-ivp/pmwiki.php?n=Main.HomePage
-
MRPT:移動機器人編程工具包
https://www.mrpt.org/
-
PCL:點云庫是一個獨立的,大規(guī)模的開放項目,用于2D/3D圖像和點云處理。
https://github.com/PointCloudLibrary/pcl
-
Robotics Library (RL):一個獨立的C++庫,包括機器人動力學,運動規(guī)劃和控制。
https://www.roboticslibrary.org/
-
ROS:機器人操作系統(tǒng),提供了一些庫和工具幫助軟件開發(fā)人員創(chuàng)建機器人應用程序。
http://wiki.ros.org/
動力學仿真引擎
-
Bullet:3D的游戲物理引擎。
https://github.com/bulletphysics/bullet3
-
Chipmunk:快速,輕量級的2D游戲物理庫
https://github.com/slembcke/Chipmunk2D
-
LiquidFun:2D的游戲物理引擎
https://github.com/google/liquidfun
-
ODE:開放動力學引擎-開源,高性能庫,模擬剛體動力學。
http://www.ode.org/
-
ofxBox2d:Box2D開源框架包裝器。
https://github.com/vanderlin/ofxBox2d
-
Simbody:高性能C++多體動力學/物理庫,模擬關節(jié)生物力學和機械系統(tǒng),像車輛,機器人和人體骨骼。
https://github.com/simbody/simbody
圖像處理
-
Boost.GIL:通用圖像庫
http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html
-
CImg:用于圖像處理的小型開源C++工具包
https://sourceforge.net/projects/cimg/
-
FreeImage:開源庫,支持現(xiàn)在多媒體應用所需的通用圖片格式和其他格式。
http://freeimage.sourceforge.net/
-
GDCM:Grassroots DICOM 庫
http://gdcm.sourceforge.net/wiki/index.php/Main_Page
-
ITK:跨平臺的開源圖像分析系統(tǒng)
https://itk.org/
-
Magick++:ImageMagick程序的C++接口
http://www.imagemagick.org/script/api.php
-
MagickWnd:ImageMagick程序的C++接口
http://www.imagemagick.org/script/api.php
-
VIGRA:用于圖像分析通用C++計算機視覺庫
https://github.com/ukoethe/vigra
-
VTK:用于3D計算機圖形學,圖像處理和可視化的開源免費軟件系統(tǒng)。
https://www.vtk.org/
視頻
-
FFmpeg:一個完整的,跨平臺的解決方案,用于記錄,轉換視頻和音頻流。
https://www.ffmpeg.org/
-
libde265:開放的h.265視頻編解碼器的實現(xiàn)。
https://github.com/strukturag/libde265
-
OpenH264:開源H.364 編解碼器。
https://github.com/cisco/openh264
-
Theora:免費開源的視頻壓縮格式。
http://www.theora.org/
多媒體
-
GStreamer:構建媒體處理組件圖形的庫
https://gstreamer.freedesktop.org/
-
LIVE555 Streaming Media:使用開放標準協(xié)議(RTP/RTCP, RTSP, SIP) 的多媒體流庫
http://www.live555.com/liveMedia/
-
libVLC:libVLC (VLC SDK)媒體框架
https://wiki.videolan.org/LibVLC
-
QtAv:基于Qt和FFmpeg的多媒體播放框架,能夠幫助你輕而易舉地編寫出一個播放器
https://github.com/wang-bin/QtAV
-
SDL:簡單直控媒體層
http://www.libsdl.org/
-
SFML:快速,簡單的多媒體庫
https://www.sfml-dev.org/
靜態(tài)代碼分析
-
Cppcheck:靜態(tài)C/C++代碼分析工具
http://cppcheck.sourceforge.net/
-
OCLint:用于C,C++和Objective-C的靜態(tài)源代碼分析工具,用于提高質(zhì)量,減少瑕疵。
http://oclint.org/
-
List of tools for static code analysis:來自維基百科的靜態(tài)代碼分析工具列表
https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B